我有一个这里的小示例。
请问有人可以帮忙解释一下为什么第一个 setTimeout
起作用了,而第二个没有呢?请看代码中的注释。
在这个例子中,我想先弹出提示框 I am first
,然后再过 6 秒钟弹出 Hello, sorry I am late
。
function iAmTakingTooLong(message1, message2, callback){
//setTimeout(function(){ alert('test'); },6000); //THIS WILL WAIT FOR 6000 MILLISECONDS
setTimeout(callback(message1+message2),6000); //THIS WILL NOT WAIT FOR 6000 MILLISECONDS
}
iAmTakingTooLong('Hello, ', 'sorry I am late!', function(fullmessage){
alert(fullmessage);
});
alert("I am first!");
function(){}
中了。 - JunMsetTimeout()
之外调用callback(message1 + message2)
,您会期望它做什么? - Pointycallback(message1+message2)
放在function(){}
中的情况下,它只会在指定时间后调用回调函数。但事实似乎并非如此。谢谢。 - JunM