CNode

setTimeout(fn, 0)与setImmediate()的区别是什么

问答
Ffengliner发布于11 年前最后回复11 年前2 回复5753 浏览0 收藏

如下代码:

setImmediate(function() {
  console.log('setImmediate');
});
setTimeout(function() {
  console.log('setTimeout');
}, 0);

输出结果为什么有的时候是:
setTimeout
setImmediate
有的时候却是:
setImmediate
setTimeout

如下代码:

setImmediate(function() {
  console.log('setImmediate');
});
setTimeout(function() {
  console.log('setTimeout');
}, 0);
console.log('正常执行');

执行结果始终是:
正常执行
setTimeout
setImmediate
第一段代码输出结果不一样的原因是什么?

查看回复

回复 (2)

参与回复
登录后即可参与回复。登录