在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的一部分,并且在循环内运行。
也许还有其他解释吗? 还是链接来find更多的细节?
如果我使用放大镜进行可视化,我看到了相同的情况
放大镜可视化 – 我正在寻找解释