我目前正在jQuery中嘗試異步函數調用,並且卡住了。請看下面的例子:Javascript:使用jQuery的異步函數調用
<html>
<head>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.7.2.min.js"></script>
</head>
<body>
<script type="text/javascript">
f = function() {
alert("f1");
var x = 0;
for (var i = 0; i < 2500000000; i++) {
x++;
}
alert("f2");
}
$.when(f()).done(alert("done"));
alert("moving on...");
</script>
</body>
</html>
我希望按以下順序警報的消息:「F1」,「繼續前進......」,「F2」,「完成」 但是當我運行的代碼在Chrome中,我得到的是:「f1」,10秒內沒有任何反應,「f2」,「完成」,「繼續......」。這與我看起來不同步。我做錯了什麼或者這是預期的行爲?如果是這樣,使用when函數和回調函數的重點是什麼?我不能同時調用函數f嗎?
http://api.jquery.com/jQuery.when/ – SLaks