订购js中的异步操作

时间:2017-10-15 14:18:18

标签: javascript node.js asynchronous

最初我对代码中的数字顺序有疑问



(function() {
    setTimeout(() => console.log(1), 0);
    Promise.resolve(true).then(() => console.log(2));
})();




对于我自己,我已经解释过,setTimeout实际上使用的是4ms,而不是0。

但代码与setImmediate

的工作方式相同



(function() {
    setImmediate(() => console.log(1), 0);
    Promise.resolve(true).then(() => console.log(2));
})();




问过这个问题的人说原因是,在v8中Promise不是webapis的一部分并且在内部循环中运行。

也许有其他解释?或链接以查找更多详细信息?

如果我使用放大镜进行可视化,我会看到相同的

Loupe visualization - 我正在寻找解释

0 个答案:

没有答案