第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

什么是sleep()的JavaScript版本?

什么是sleep()的JavaScript版本?

暮色呼如 2019-05-21 15:53:08
什么是sleep()的JavaScript版本?有沒(méi)有sleep比使用以下pausecomp函數(shù)更好的方法來(lái)設(shè)計(jì)JavaScript (從這里開(kāi)始)?function pausecomp(millis){     var date = new Date();     var curDate = null;     do { curDate = new Date(); }     while(curDate-date < millis);}這不是JavaScript中Sleep的重復(fù)- 動(dòng)作之間的延遲 ; 我希望在函數(shù)中間實(shí)現(xiàn)真正的睡眠,而不是在執(zhí)行代碼之前的延遲。
查看完整描述

4 回答

?
千萬(wàn)里不及你

TA貢獻(xiàn)1784條經(jīng)驗(yàn) 獲得超9個(gè)贊

認(rèn)為想要執(zhí)行一個(gè)動(dòng)作,等待,然后執(zhí)行另一個(gè)動(dòng)作是完全合理的。如果您習(xí)慣于使用多線程語(yǔ)言編寫(xiě),那么在線程喚醒之前,您可能會(huì)在一段時(shí)間內(nèi)執(zhí)行執(zhí)行操作。

這里的問(wèn)題是JavaScript是一個(gè)基于事件的單線程模型。雖然在特定情況下,讓整個(gè)引擎等待幾秒鐘可能會(huì)很好,但總的來(lái)說(shuō)這是不好的做法。假設(shè)我想在編寫(xiě)自己的函數(shù)時(shí)使用你的函數(shù)?當(dāng)我打電話給你的方法時(shí),我的方法都會(huì)凍結(jié)。如果JavaScript可以某種方式保留你的函數(shù)的執(zhí)行上下文,將它存儲(chǔ)在某個(gè)地方,然后將其恢復(fù)并稍后繼續(xù),然后就可以發(fā)生睡眠,但這基本上就是線程化。

因此,您幾乎堅(jiān)持其他人的建議 - 您需要將代碼分解為多個(gè)功能。

那么你的問(wèn)題是一個(gè)錯(cuò)誤的選擇。沒(méi)有辦法以你想要的方式睡覺(jué),你也不應(yīng)該尋求你建議的解決方案。


查看完整回答
反對(duì) 回復(fù) 2019-05-21
?
絕地?zé)o雙

TA貢獻(xiàn)1946條經(jīng)驗(yàn) 獲得超4個(gè)贊

僅適用于debug / dev,如果它對(duì)某人有用,我會(huì)發(fā)布


有趣的東西,在Firebug(可能還有其他js控制臺(tái))中,只有在指定的睡眠時(shí)間后才會(huì)進(jìn)入,


function sleepFor( sleepDuration ){

    var now = new Date().getTime();

    while(new Date().getTime() < now + sleepDuration){ /* do nothing */ } 

}

使用示例:


function sleepThenAct(){ sleepFor(2000); console.log("hello js sleep !"); }


查看完整回答
反對(duì) 回復(fù) 2019-05-21
  • 4 回答
  • 0 關(guān)注
  • 560 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)