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

