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

時間を10に変更するsetTimeoutと、出力:

11111
3333
5555
2222
4444

誰かが私にこの振る舞いを説明できますか?

4

1 に答える 1

0

setImmediate()長時間実行されている操作を分割し、ブラウザがイベントや表示更新などの他の操作を完了した直後にコールバック関数を実行するために使用されます。

setTimeout()、指定されたミリ秒数の後に関数を呼び出すか式を評価します。つまり、ブラウザーがまだ完了していなくても、既に内部で機能を実行しています。

手段を講じると、ブラウザがすでに完了している可能性が最も高い10 ミリ秒10後にのみ機能します。

于 2017-10-24T06:48:42.463 に答える