有幾種方式,但都不完美
其一,不斷循環,直到達到指定時間 復制代碼 代碼如下:
function sleep(numberMillis) {
var now = new Date();
var exitTime = now.getTime() + numberMillis;
while (true) {
now = new Date();
if (now.getTime() > exitTime)
return;
}
}
其實代碼並沒有讓腳本sleep下來, 相反讓CPU迅速上到高負荷的附作用。多數現代浏覽器會在該段時間內處於假死狀態
其二,用xhr同步請求後台程序,比如傳2000過去,後台就sleep 2秒後再返回,這種方式也有缺點,當N多客戶端都請求後台時,一直保持連接http開銷很大。
此外,window對象的alert,confirm也可以中斷後續代碼的執行。