gpt4 book ai didi

node.js - 异步nodejs执行顺序

转载 作者:搜寻专家 更新时间:2023-10-31 23:05:10 24 4
gpt4 key购买 nike

processItem 什么时候开始执行。它会在某些项目被插入队列后立即开始吗?还是 for 循环必须在队列中的第一项开始执行之前完成?

var processItem = function (item, callback) {
console.log(item)
callback();
}


var myQueue = async.queue(processItem, 2)


for (index = 0; index < 1000; ++index) {
myQueue.push(index)
}

最佳答案

简单的答案是,您的所有任务都将添加到队列中,然后以随机(未定义)顺序执行。


背景信息,来自 https://github.com/caolan/async#queueworker-concurrency

队列( worker ,并发)

创建具有指定并发度queue 对象。添加到队列中的任务是并行处理的(达到 concurrency 限制)。如果所有 worker 都在进行中,则 task 会排队直到有一个可用。一旦工作人员完成了一个任务,该任务回调就会被调用。


换句话说,顺序是未定义。如果您需要以特定顺序执行任务,您应该使用不同的异步原语,例如 series(tasks, [callback]) https://github.com/caolan/async#seriestasks-callback

关于node.js - 异步nodejs执行顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26224226/

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