gpt4 book ai didi

node.js - Node.js非阻塞for循环

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

请检查我对以下for循环的理解是否正确。

for(let i=0; i<1000; i){
sample_function(i, function(result){});
}

调用for循环的那一刻,sample_function的1000个事件将在事件循环中被查询。大约 5 秒后,用户发出 http 请求,该请求在“1000 个事件”之后进行排队。通常这不会成为问题,因为循环是异步的。但可以说这个 sample_function 是一个 CPU 密集型函数。因此“1000个事件”是连续完成的,每个事件大约需要1秒。结果,for循环将阻塞大约1000秒。

有办法解决这样的问题吗?例如,是否可以让线程每 10 个循环“休息”一次?并允许其他新问题出现在中间?如果是的话我该怎么做?

最佳答案

试试这个:

 for(let i=0; i<1000; i++)
{
setTimeout(sample_function, 0, i, function(result){});
}

function sample_function(elem, index){..}

var arr = Array(1000);
arr.forEach(sample_function);

关于node.js - Node.js非阻塞for循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53221049/

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