【发布时间】:2016-12-01 06:35:09
【问题描述】:
我正在使用 setTimeout 函数:-
function myFunction() {
alert("1"); // Called 1st
setTimeout(function(){
alert("2"); // Called Third
}, 0000);
/*Same as setTimeout window.setTimeout(slowAlert, 0000);function slowAlert() { alert("That was Same as setTimeout!");}*/
alert("39"); // Called Second
}
即使我使用零秒,我也无法理解为什么 alert('2') 第三次调用
【问题讨论】:
-
因为
setTimeout是异步函数。 -
但是时间是零秒,所以 setTimeout 函数是否异步无关紧要,因为它不使用任何秒来执行该行代码
-
@VIKASKOHLI 这显然很重要,否则你不必问这个问题:)
-
@VIKASKOHLI,但是时间是零秒,所以 setTimeout 是否无关紧要 - see my answer。时间指定回调应该添加到事件循环的时间,而不是回调将被执行的时间。
标签: javascript node.js function asynchronous settimeout