HarmonyOS鸿蒙Next中request.downloadFile在并发多个下载任务时,DownloadTask.on注册的下载事件发现后注册的会覆盖前面注册的。

HarmonyOS鸿蒙Next中request.downloadFile在并发多个下载任务时,DownloadTask.on注册的下载事件发现后注册的会覆盖前面注册的。 我并发2个下载任务,分别用downloadTask1.on(‘complete’, completeCallback_1), downloadTask2.on(‘complete’, completeCallback_2)

最后发现所有的回调都是在completeCallback_2里面执行。

4 回复

我也是

更多关于HarmonyOS鸿蒙Next中request.downloadFile在并发多个下载任务时,DownloadTask.on注册的下载事件发现后注册的会覆盖前面注册的。的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


这个我也遇到了,这导致根本没法用request组件进行多个任务的同时下载,这块还是闭源的,内部人员能不能快点修复这个bug。

这个已确认,是系统BUG,预计会在API 11修复,大概在2024年1月份,

在HarmonyOS鸿蒙Next中,request.downloadFile在并发多个下载任务时,确实存在DownloadTask.on注册的下载事件后注册覆盖前注册的问题。这是由于DownloadTask.on方法的事件监听机制是覆盖式的,即新的事件监听器会替换旧的。为避免此问题,可以为每个下载任务创建独立的DownloadTask实例,或使用不同的事件类型来区分各个任务的事件监听器。例如,可以通过taskId或其他唯一标识符来管理不同的下载任务和事件。

回到顶部