0

以下代码setImmediate的输出是什么:setTimeout

console.log("11111");

setImmediate(function A(){
console.log("2222");
});

console.log("3333");


setTimeout(function B(){

    console.log("4444");

},0);

console.log("5555");

输出:

11111
3333
5555
4444
2222

当我及时将时间更改setTimeout为 10 时,输出:

11111
3333
5555
2222
4444

任何人都可以向我解释这种行为吗?

4

1 回答 1

0

用于分解长时间运行的setImmediate()操作,并在浏览器完成其他操作(例如事件和显示更新)后立即运行回调函数。

setTimeout()指定的毫秒数后调用函数或计算表达式。这意味着即使浏览器还没有完成,它已经在里面运行了一个功能。

当你输入10手段时,它只会在10 毫秒后工作,这很可能你的浏览器已经完成了。

于 2017-10-24T06:48:42.463 回答