91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

js中如何實現sleep

發布時間:2021-09-26 15:44:03 來源:億速云 閱讀:293 作者:小新 欄目:開發技術

這篇文章主要為大家展示了“js中如何實現sleep”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“js中如何實現sleep”這篇文章吧。

  1、利用循環實現類似sleep

  functionsleep(d){

  for(vart=Date.now();Date.now()-t<=d;);

  }

  sleep(5000);//當前方法暫停5秒

  優點:簡單粗暴,通俗易懂。

  缺點:這是最簡單粗暴的實現,確實sleep了,也確實卡死了,CPU會飆升,無論你的服務器CPU有多么Niubility。

  2、Promise版本實現類似sleep

  functionsleep(ms){

  returnnewPromise(resolve=>

  setTimeout(resolve,ms)

  )

  }

  sleep(3000).then(()=>{

  //code

  })

  優點:這種方式實際上是用了setTimeout,沒有形成進程阻塞,不會造成性能和負載問題。

  缺點:雖然不像callback套那么多層,但仍不怎么美觀,而且當我們需要在某過程中需要停止執行(或者在中途返回了錯誤的值),還必須得層層判斷后跳出,非常麻煩,而且這種異步并不是那么徹底,還是看起來別扭。

  3、通過generate來實現類似sleep

  function*sleep(ms){

  yieldnewPromise(function(resolve,reject){

  console.log(111);

  setTimeout(resolve,ms);

  })

  }

  sleep(500).next().value.then(()=>{

  console.log(11111)

  })

  優點:同Promise優點,另外代碼就變得非常簡單干凈,沒有then那么生硬和惡心。

  缺點:但不足也很明顯,就是每次都要執行next()顯得很麻煩,雖然有co(第三方包)可以解決,但就多包了一層不好看,錯誤也必須按co的邏輯來處理不爽。

以上是“js中如何實現sleep”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

秭归县| 亚东县| 宣威市| 辉县市| 芜湖县| 新邵县| 六盘水市| 曲沃县| 鄂托克前旗| 自贡市| 楚雄市| 夏河县| 措美县| 淮北市| 龙泉市| 沁水县| 平远县| 兴隆县| 沂水县| 六盘水市| 滨海县| 都江堰市| 靖安县| 汝城县| 吴忠市| 梅河口市| 连平县| 桃源县| 闽侯县| 城固县| 凤庆县| 和田县| 琼结县| 威信县| 普宁市| 鄂州市| 象山县| 锡林浩特市| 将乐县| 江华| 揭东县|