gpt4 book ai didi

node.js - 您可以设置多少个 setTimeouts?

转载 作者:太空宇宙 更新时间:2023-11-04 01:09:19 25 4
gpt4 key购买 nike

我正在编写一个服务器端作业,试图通过执行以下操作来限制操作:

var throttle = 1000 / 20;
for (var i = 0; i < 80000; i++) {
setTimeout(operation, Math.floor(throttle * i));
}

我认识到 sleep 在这里效果更好,但是 node.js 需要一个库,所以我试图克服它。然而,这个程序可以处理超过一千个这样的事情,然后……什么也没有。没有错误消息,只是什么也没发生。我怀疑 JS 超时了。

我已经迁移到 sleep 状态,这似乎有效,但我很好奇 JS 如何处理超时。有人有任何其他见解吗?

谢谢!

就其值(value)而言,我假设答案就在这个文件 https://github.com/joyent/node/blob/master/src/timer_wrap.cc 中。假设它不在 V8 本身中。

最佳答案

为什么不使用 setInterval(function, Interval) 来代替?

var throttle = 1000 / 20;
var i = 0;
var interval = setInterval(function() {
operation();
if(i++ == 80000) {
// we're done
clearInterval(interval);
}
}, Math.floor(throttle * i));

(当然,纠正我引入的任何差一)

关于node.js - 您可以设置多少个 setTimeouts?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19534146/

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