Node.js公开process.nextTick
,它确保在将控制权返回给运行时时调用所提供的回调。通过阻止对作业队列上的作业进行评估,这会带来“使事件循环匮乏”的风险。
Internet Explorer公开setImmediate
,据我所知,它使用单独的作业队列和一些逻辑,以便每次循环迭代时将项目从队列中弹出一次,从而排除"事件循环饥饿& #34;
requestAnimationFrame
维护自己的回调队列,这些回调将在图形子系统的VBLANK之前一个接一个地调用。
说明JavaScript运行时协调来自各种队列的作业的运行是正确的,方法是将它们提供给事件循环,以便在特定于这些队列的算法确定的时间执行,并在某些队列中执行感觉到单个作业队列服务的单个事件循环会更复杂吗?
答案 0 :(得分:1)
队列如何工作以及是否存在多个特定于实现的队列,但是可以有多个队列和特殊规则来说明将首先运行哪个队列的作业。