HarmonyOS 将订阅下载任务进度事件实现同步效果

订阅的下载相关事件为异步,使用callback形式返回。导致downloadTask.on('complete', completeCallback) 代码语句之后的代码会先于completeCallback函数执行。这部分代码又不想放置于completeCallback函数中。请问有什么方案能实现先执行completeCallback函数,然后执行downloadTask.on('complete', completeCallback)之后的代码?

HarmonyOS
3天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
fox280

可以参考链接:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-taskpool-V5#adddependency11

示例代码:

@Concurrent
function delay(args: number): number {
  let t: number = Date.now();
  while ((Date.now() - t) < 1000) {
    continue;
  }
  return args;
}

let task1: taskpool.Task = new taskpool.Task(delay, 100);
let task2: taskpool.Task = new taskpool.Task(delay, 200);
let task3: taskpool.Task = new taskpool.Task(delay, 200);

console.info("dependency: add dependency start");
task1.addDependency(task2);
task2.addDependency(task3);
console.info("dependency: add dependency end");

console.info("dependency: start execute second")
taskpool.execute(task1).then(() => {
  console.info("dependency: second task1 success");
})
taskpool.execute(task2).then(() => {
  console.info("dependency: second task2 success");
})
taskpool.execute(task3).then(() => {
  console.info("dependency: second task3 success");
})
分享
微博
QQ
微信
回复
3天前
相关问题
HarmonyOS 订阅续订订单同步方案咨询
23浏览 • 1回复 待解决
HarmonyOS 事件订阅 emitter问题
571浏览 • 1回复 待解决
DTS订阅对象可以同步几个表?
2473浏览 • 1回复 待解决
HarmonyOS 如何监听下载文件的进度
71浏览 • 1回复 待解决
用户订阅系统公共事件
1141浏览 • 1回复 待解决
HarmonyOS 如何异步数据改成同步
160浏览 • 1回复 待解决
HarmonyOS 怎样实现进度
50浏览 • 1回复 待解决
Watcher接口如何订阅到OS的崩溃事件
625浏览 • 1回复 待解决
如何cookie同步到web中
587浏览 • 1回复 待解决