我在我的Firefox上運行這些代碼,並且console
得到3 2 1
,這意味着語句在前一個結束之前運行。下一個語句在前一個結束之前運行
function test(){
setTimeout(function(){console.log(1)},1000); //statement 0
setTimeout(function(){console.log(2)},500); //statement 1
}
test();
console.log(3); //statement 2
它是javascript的一個功能,我是否必須在分配給它一些值後仔細檢查一個變量? Cuz'太複雜了。
var a;
while(a!==get('some')){
a=get('some');
if(a===get('some')){
whatShouldBeRun();afterGetSome();
break;
}
}
我使用'的setTimeout()',以刺激其需要很長的時間的功能,比如網絡或sql查詢。我怎麼能夠知道一個函數是否異步運行,比如添加大量函數或處理大量文本的函數? – Rufus
超時顯式異步運行。就像ajax調用一樣。這很大程度上取決於你在做什麼樣的呼叫。如果他們運行異步,那麼你將不得不修改你的處理來處理這個。請參閱編輯我的答案。 –
謝謝,我有一個線索在租賃:) – Rufus