javascript - 如何在不阻塞事件循环的情况下定期运行任务?

标签 javascript node.js event-loop

我有一段在大型数组上运行的代码:

for (i = 0; i < cars.length; i++) { 
    cars[i] = some_function(cars[i]) ;
}

我应该间隔运行此代码而不阻塞事件循环。正确的做法是什么?

最佳答案

对于不阻塞事件循环的部分,您有两个选择,甚至更多:

  1. 将您的工作转移到 child processworker
  2. 使用 process.nextTicksome_function 内的处理分块将控制权交还给 block 之间的事件循环

如果可以进行分块,您必须弄清楚,因为没有您的函数的详细信息。

对于间隔部分,您应该将代码包装在 setInterval 中.

关于javascript - 如何在不阻塞事件循环的情况下定期运行任务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36630153/

相关文章:

node.js - Node.js 中的单线程和事件循环

javascript - CSS - 在文本中滑动

ios - Socket.io 通过套接字对象在服务器上获取事件字符串

c - *non-blockingness* 的 libuv 实现是如何工作的?

javascript - 一般 Node.js/javascript 问题和事件循环

javascript - 如何将 opening_hours.js 包含到 node.js 脚本中?

javascript - 图片路径返回404错误(Not Found)

javascript - 将 jsonarray 分割成 block 数组到另一个数组中

javascript - jquery appendTo 元素不遵守 css

javascript - 在 AWS Lambda 中使用 Async/Await 写入 S3 存储桶