我有一段在大型数组上运行的代码:
for (i = 0; i < cars.length; i++) {
cars[i] = some_function(cars[i]) ;
}
我应该间隔运行此代码而不阻塞事件循环。正确的做法是什么?
最佳答案
对于不阻塞事件循环的部分,您有两个选择,甚至更多:
- 将您的工作转移到 child process或 worker
- 使用
process.nextTick
将some_function
内的处理分块将控制权交还给 block 之间的事件循环
如果可以进行分块,您必须弄清楚,因为没有您的函数的详细信息。
对于间隔部分,您应该将代码包装在 setInterval
中.
关于javascript - 如何在不阻塞事件循环的情况下定期运行任务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36630153/