gpt4 book ai didi

javascript - 使用异步库等待队列中的所有任务完成以返回值

转载 作者:太空宇宙 更新时间:2023-11-04 03:22:14 24 4
gpt4 key购买 nike

我使用异步库使用队列同时执行一些任务,我的问题是我更新了drain内的结果,但是当我在函数结束时返回结果时,它仍然具有初始值。我应该在队列上再次使用 Promise 和 async/await 吗?这是我的代码:

result = false;
const q = async.queue((task, callback) => {
console.log('Uploading : ', task.src)
s3.upload({
Bucket: outputBucket,
Key: task.desc,
Body: fs.createReadStream(task.src)
}, callback)
}, PARALLEL_TASK)

q.drain = function() {result= true;}

q.push(fileNamesReformat)

return result; // HERE It's still false!

最佳答案

我找到了解决方案,如果有人需要,我需要返回:

return q.drain()

根据异步文档,drain 是一个回调,当队列中的最后一个项目从工作线程返回时调用

关于javascript - 使用异步库等待队列中的所有任务完成以返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48781234/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com