setImmediate令人困惑的文档措辞

时间:2016-12-14 09:32:59

标签: javascript node.js

从我读过setImmediate为事件循环添加回调结束,而process.nextTick在头部添加回调。但是official docssetImmediate

说了以下内容
  

计划I / O事件后“立即”执行回调   使用setTimeout()和。创建的回调和计时器   触发了setInterval()。

然而,此示例证明setImmediate无论使用setTimeout还是setInterval添加定时器,都会在循环结束时添加回调:

function test() {
    setTimeout(function () {
        console.log('settimeout');
    }, 5000);

    const start = Date.now();
    while (Date.now() - start < 6000) {
        // blocking
    }

    setImmediate(function () {
        console.log('setimmediate');
    });

    process.nextTick(function () {
        console.log('nextTick');
    });
}

test();

输出:

nextTick
settimeout
setimmediate

文档错误或者我没有正确理解它?

0 个答案:

没有答案