setTimeout(fn, 0)与setImmediate()的区别是什么
发布于 10 年前 作者 fengliner 5126 次浏览 最后一次编辑是 8 年前 来自 问答

如下代码:

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
第一段代码输出结果不一样的原因是什么?

回到顶部