JavaScript里模擬sleep


有幾種方式,但都不完美

 

其一,不斷循環,直到達到指定時間

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也可以中斷后續代碼的執行。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM