子线程下载/子线程并发下载的参考案例?

如题:子线程下载/子线程并发下载的参考案例?

阅读 639
1 个回答

将context传入到子线程,然后调用request的接口

let filesDir = context.cacheDir;
request.downloadFile(context.getApplicationContext(), {
  url: 'https://fe-static.xxx.com/mp/red/bc446184a0c84aa785ea3cada920f6ac.zip',
  filePath: filesDir + '/bc446184a0c84aa785ea3cada920f6ac.zip',
  enableMetered:true
}).then((downloadTask: request.DownloadTask) => {
  let progresCallback = (receivedSize: number, totalSize: number) => {
    console.info("downloadddd1 receivedSize:" + receivedSize + " totalSize:" + totalSize);
  };
  let pauseCallback = () => {
    console.info('Downloadddd task pause.');
  };
  //开启回调
  downloadTask.on('progress', progresCallback);
  downloadTask.on('pause', pauseCallback);
  downloadTask.on('complete', () => {

    console.info('downloaddddTask1 complete,filesDir:'+filesDir + '/bc446184a0c84aa785ea3cada920f6ac.json');

  })
}).catch((err: BusinessError) => {
  console.error(`Invoke downloadTask failed, code is ${err.code}, message is ${err.message}`);
})
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进