即时 
npm install immediate --save
接下来
var immediate = require("immediate");
immediate(function () {
// this will run soon
});
immediate(function (arg1, arg2) {
// get your args like in iojs
}, thing1, thing2);
导言
即时 是一个微任务库,从 诺贝尔JS的设定即时,但包括来自 库乔何时 财务报告和审定财务报表 RSVP 软件。 。 。 .
立即从 setImmediate 和 RSVP 中取出诡计,并将其与被激发(vaguely)的排程器结合到时间.
注意版2.6.5和之前严格地说是一个“宏任务”库,而不是一个微型任务库, 看这个区别如果您需要一个宏任务库, 我掩护你。 。 。 .
3.1.0和3.2.0版本增加了几个新特征,以保持与《公约》和《京都议定书》 process.nextTick,但3.0.x系列仍然在不断更新,如果您需要的话 小裸骨版本
诡计
process.nextTick
注意,我们检查 实际数 节点.js 环境,而不是像由浏览器或类似器生成的环境那样的被模拟.
queueMicrotask
当前主要浏览器中可用的函数,您可以用来将一个函数添加到由 V8 管理的微任务队列中.
MutationObserver
这就是 RSVP 软件 使用,非常快,细节 MDN 数据。 。 。 .
MessageChannel
很遗憾, postMessage 网络工人内部有完全不同的语义, 所以不能在那里使用。 所以我们
转向 MessageChannel,它有更糟糕的浏览器支持,但确实在网络工人内部工作.
<script> onreadystatechange
最后一招,我们抽出一些东西 让东西在互联网探索6到8版本:,
创建一个 <script> 并启动我们的呼叫 onreadystatechange 活动。 这将在未来执行
转动事件循环,速度也快于 setTimeout(…, 0)嘿,为什么不呢?
我们不用的花招
setImmediate
我们避免使用 setImmediate 因为节点 process.nextTick 更适合我们的需要。 此外,因特网探索者10号实施 setImmediate 断了.
参考和阅读
- 高效脚本 Yielding W3C 编辑器草稿
- 介绍规格的 W3C 邮件列表
- IE 测试驱动演示
- Nicholas C. Zakas的介绍博客文章
- 我写了一些关于这个的博客文章, 第1编 财务报告和审定财务报表 第二编
