微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为什么 fetch await 不等待文件下载

如何解决为什么 fetch await 不等待文件下载

我正在尝试使用 fetch 从 googleapi 服务器下载 apk(我无法使用任何插件,并且由于 cors 问题,唯一的解决方案是使用 fetch 代替 ionic native http)

显然 await 不起作用,因为它试图在数据流仍在进行时保存文件文件为 11Mb)。

async saveApk(){
  this.blob = await this.download(this.url);
  let apk = new Blob([this.blob],{type:'application/vnd.android.package-archive'});
  this.file.writeFile(this.file.cacheDirectory,'test.apk',apk,{ replace: true});
}

async download(url){
  try {
    const request = new Request(url.slice(0,-5),{
      method: 'GET',mode: 'no-cors',credentials: 'include'
    });
    let response = await fetch(request);
    let data = await response.blob();
    return data;
  } catch (err) {
    console.error(err)
  }
}

我已经尝试解决它三天了,但我找不到缺陷。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。