javascript里模擬sleep(兩種實現(xiàn)方式)
更新時間:2013年01月25日 16:31:11 作者:
有幾種方式,但都不完美 其一:不斷循環(huán),直到達到指定時間、其二:用xhr同步請求后臺程序,比如傳2000過去,后臺就sleep 2秒后再返回,這種方式也有缺點,當(dāng)N多客戶端都請求后臺時,一直保持連接http開銷很大,感興趣的朋友可以了解下啊
有幾種方式,但都不完美
其一,不斷循環(huán),直到達到指定時間
function sleep(numberMillis) {
var now = new Date();
var exitTime = now.getTime() + numberMillis;
while (true) {
now = new Date();
if (now.getTime() > exitTime)
return;
}
}
其實代碼并沒有讓腳本sleep下來, 相反讓CPU迅速上到高負荷的附作用。多數(shù)現(xiàn)代瀏覽器會在該段時間內(nèi)處于假死狀態(tài)
其二,用xhr同步請求后臺程序,比如傳2000過去,后臺就sleep 2秒后再返回,這種方式也有缺點,當(dāng)N多客戶端都請求后臺時,一直保持連接http開銷很大。
此外,window對象的alert,confirm也可以中斷后續(xù)代碼的執(zhí)行。
其一,不斷循環(huán),直到達到指定時間
復(fù)制代碼 代碼如下:
function sleep(numberMillis) {
var now = new Date();
var exitTime = now.getTime() + numberMillis;
while (true) {
now = new Date();
if (now.getTime() > exitTime)
return;
}
}
其實代碼并沒有讓腳本sleep下來, 相反讓CPU迅速上到高負荷的附作用。多數(shù)現(xiàn)代瀏覽器會在該段時間內(nèi)處于假死狀態(tài)
其二,用xhr同步請求后臺程序,比如傳2000過去,后臺就sleep 2秒后再返回,這種方式也有缺點,當(dāng)N多客戶端都請求后臺時,一直保持連接http開銷很大。
此外,window對象的alert,confirm也可以中斷后續(xù)代碼的執(zhí)行。
相關(guān)文章
escape編碼與unescape解碼漢字出現(xiàn)亂碼的解決方法
這篇文章主要介紹了escape編碼與unescape解碼漢字出現(xiàn)亂碼的解決方法,需要的朋友可以參考下2014-07-07
JavaScript實現(xiàn)點擊單選按鈕改變輸入框中文本域內(nèi)容的方法
這篇文章主要介紹了JavaScript實現(xiàn)點擊單選按鈕改變輸入框中文本域內(nèi)容的方法,涉及javascript單選按鈕控制頁面元素樣式的相關(guān)技巧,非常簡單實用,需要的朋友可以參考下2015-08-08
微信小程序van-field中的left-icon屬性自定義實現(xiàn)過程
在小程序中,我們是用 Vant 組件庫時,常常會用到 van-field 輸入框控件,今天我將跟大家分享的是 van-field 輸入框控件中的 left-icon 屬性的自定義怎么實現(xiàn),感興趣的朋友一起看看吧2023-08-08
Bootstrap的popover(彈出框)2秒后定時消失的實現(xiàn)代碼
Bootstrap Popover(彈出框)是使用定制的 Jquery 插件創(chuàng)建的。它可以用來顯示任何元素的一些信息。這篇文章主要介紹了Bootstrap的popover(彈出框)2秒后定時消失功能,需要的朋友參考下2017-02-02

