日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

JavaScript sleep睡眠函數(shù)的使用

瀏覽:169日期:2023-09-28 09:43:41
目錄1.sleep函數(shù)2. setTimeout3.Promise 4. async await5. 1s后輸出1 2s后輸出2 3s后輸出3參考文章:1.sleep函數(shù)

JavaScript是單線程運行的,沒有內(nèi)置的sleep函數(shù),現(xiàn)在模擬實現(xiàn)sleep延遲執(zhí)行的效果。

使用睡眠函數(shù)實現(xiàn)紅綠燈代碼,紅燈2秒,黃燈1秒,綠燈3秒,循環(huán)改變顏色。

2. setTimeout

直接使用setTimeout實現(xiàn)sleep()的方法,兼容性最好,但是使用了回調(diào)函數(shù)的實現(xiàn)方式,代碼的可讀性和維護性不是很好。

// setTimeoutlet fun = () => console.log(’time out’);let sleep = function(fun,time){ setTimeout(()=>{ fun(); },time);}sleep(fun,2000);setTimeoutsetTimeout是最基本的實現(xiàn)方式,代碼如下,使用遞歸來實現(xiàn)循環(huán)改變顏色:function changeColor(color) { console.log(’traffic-light ’, color);}function main() { changeColor(’red’); setTimeout(()=>{ changeColor(’yellow’); setTimeout(() => { changeColor(’green’); setTimeout(main, 2000); }, 1000); }, 2000);}main();3.Promise

在ES6的語法中,Promise是sleep方法異步的實現(xiàn)一種方式,借助Promise方法可以優(yōu)雅的構建sleep實現(xiàn)方法,避免了使用函數(shù)回調(diào)的使用方式。

// promiselet fun = () => console.log(’time out’);let sleep2= (time)=> new Promise((resolve)=>{ setTimeout(resolve,time)})sleep2(2000).then(fun);

Promise

使用Promise,把下一次的顏色改變寫在then里面,最后同樣使用遞歸完成循環(huán)。

使用promise代替setTimeout,利用鏈式調(diào)用以及then來實現(xiàn)燈的轉換,then返回一個promise對象,當這個對象為resolve狀態(tài)then可以持續(xù)調(diào)用。

const traffic_light=(color,duration)=>{ return new Promise((resolve,reject)=>{ console.log(’traffic-light ’, color); setTimeout(()=>{resolve() },duration) })}const main=()=>{ Promise.resolve() .then(()=>{return traffic_light(’red’,3000) }) .then(()=>{return traffic_light(’yellow’,1000) }) .then(()=>{return traffic_light(’green’,2000) }) .then(()=>{main(); })}main()4. async await

async await實際上是generator和promise的語法糖,在提供同步編程方式實現(xiàn)異步調(diào)用的基礎上,同時滿足對sleep函數(shù)語義化的支持,也是常用的sleep的實現(xiàn)方式。

// async awaitasync function wait(time){ await sleep2(time); fun();}wait(3000);

async await 使用

使用async await就可以避免Promise的一連串.then.then.then,也不再需要遞歸,使用while(true)就可以實現(xiàn)循環(huán)。

function sleep(duration) { return new Promise(resolve => { setTimeout(resolve, duration); })}async function changeColor(color, duration) { console.log(’traffic-light ’, color); await sleep(duration);}async function main() { while (true) { await changeColor(’red’, 2000); await changeColor(’yellow’, 1000); await changeColor(’green’, 3000); }}main();5. 1s后輸出1 2s后輸出2 3s后輸出3

const log = console.log;const sleep = (timeout) => { return new Promise((resolve)=>{ setTimeout(()=>{ resolve(); }, timeout) })}const main = async()=>{ await sleep(1000); log(1); await sleep(2000); log(2); await sleep(3000); log(3);}參考文章:

紅綠燈紅綠燈

到此這篇關于JavaScript sleep睡眠函數(shù)的使用的文章就介紹到這了,更多相關JavaScript sleep睡眠函數(shù)內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持好吧啦網(wǎng)!

標簽: JavaScript
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
在线观看一区| 麻豆一区二区三| 性欧美69xoxoxoxo| 在线国产日韩| 免费精品国产| 日韩高清欧美| 欧美激情视频一区二区三区在线播放| 尤物网精品视频| 精品国产99| 免费观看久久av| 精品一区视频| 青青草国产精品亚洲专区无| 国产日韩1区| 亚洲久久视频| 视频一区视频二区在线观看| 久久久久国产精品一区二区| 久久亚洲国产| 精品美女在线视频| 国产传媒在线| 亚洲欧美日韩国产综合精品二区| 日韩不卡视频在线观看| 日本一二区不卡| 91成人精品视频| 日韩高清在线观看一区二区| 欧美国产免费| 蜜桃tv一区二区三区| 中文字幕av一区二区三区人| 亚洲精品成人一区| 日本午夜精品久久久久| 精品午夜视频| 欧美日韩一区二区三区视频播放| 男人的天堂久久精品| 亚洲精品福利| 久久久久久久欧美精品| 激情欧美日韩一区| 69堂精品视频在线播放| 久久久久久久久久久9不雅视频| 免费成人在线视频观看| 日本一区二区免费高清| 久久亚洲二区| 国产v日韩v欧美v| 日韩av午夜在线观看| 激情五月综合| 国产一区二区三区免费在线| 亚久久调教视频| 成人亚洲一区二区| 国产精品日韩| 日韩中文影院| 国产精品亚洲欧美| 国产精品丝袜xxxxxxx| 久久一区精品| 91成人小视频| 免费日韩av片| 激情视频一区二区三区| 久久99影视| 日韩精品一区二区三区中文在线| 九九精品调教| 国产精品99一区二区三区| 久久国产精品免费一区二区三区| 欧美激情国产在线| 欧美在线看片| 亚洲精品在线国产| 在线精品一区| 亚洲三级网址| 777久久精品| 国产三级精品三级在线观看国产| 综合色一区二区| 蘑菇福利视频一区播放| 99热精品在线观看| 巨乳诱惑日韩免费av| 午夜影院欧美| 一二三区精品| 欧美日一区二区三区在线观看国产免| 日本麻豆一区二区三区视频| 亚洲欧美日韩高清在线| 亚洲欧美日韩视频二区| 亚洲欧美伊人| 亚洲精品乱码久久久久久蜜桃麻豆| 天堂久久av| 久久免费影院| 激情五月综合网| 日韩在线观看中文字幕| 久久国内精品| 欧美片第1页| 亚洲作爱视频| 国产美女久久| 日韩国产一区| 亚洲欧美视频| 五月国产精品| 狂野欧美性猛交xxxx| 精品久久精品| 欧美日韩精品在线一区| 青青国产精品| 日韩一区二区中文| 黄色成人在线网址| 国产精品极品| 欧美日韩一二| 国产精品久久久久久久久久久久久久久| 高清精品久久| 婷婷综合一区| 99精品在线免费在线观看| 亚洲精品乱码| 欧美 日韩 国产一区二区在线视频| 亚洲欧美成人综合| 日本一二区不卡| 亚洲精品看片| 亚洲日本网址| 国产精品久久久久77777丨| 亚洲欧美综合| 欧美激情在线精品一区二区三区| 99re国产精品| 日韩精品影视| 久久精品国产999大香线蕉| 男女性色大片免费观看一区二区| 日本精品黄色| 国产欧美一区二区精品久久久 | 日本天堂一区| 99在线观看免费视频精品观看| 精品久久久久久久| 91综合久久爱com| 99香蕉国产精品偷在线观看 | 日本欧美在线看| 日韩专区精品| 日韩理论片av| jizzjizz中国精品麻豆| 日本色综合中文字幕| av免费不卡国产观看| 久久影院一区二区三区| 国产免费播放一区二区| 欧美亚洲三级| 91精品国产自产在线丝袜啪| 视频一区免费在线观看| 中文一区一区三区免费在线观 | 亚洲免费成人av在线| 国产一级一区二区| 噜噜噜躁狠狠躁狠狠精品视频| 亚洲网站视频| 日本欧美韩国一区三区| 午夜久久tv| 亚洲精品麻豆| 国产精品久久久久久久久久妞妞| 欧美啪啪一区| 国产一区二区三区精品在线观看| 色爱综合网欧美| 欧美日韩免费观看一区=区三区| 美女网站久久| 国产精品视频首页| 日韩欧美一区二区三区在线视频| 午夜精品久久久久久久久久蜜桃| 成人欧美一区二区三区的电影| 精品欧美激情在线观看| 午夜天堂精品久久久久| 综合精品一区| 国产精品久久久久久av公交车| 国产精品社区| 人人爱人人干婷婷丁香亚洲| 六月丁香综合在线视频| 亚洲成人不卡| 蜜桃一区二区三区在线观看 | 欧美日韩在线二区| 蜜臀精品一区二区三区在线观看 | 三上悠亚国产精品一区二区三区| 99在线|亚洲一区二区| 久久国产精品免费一区二区三区| 日韩欧美中文在线观看| 中国字幕a在线看韩国电影| 亚洲精品网址| 精品日韩一区| 免费人成精品欧美精品| 福利一区二区| 中文字幕av一区二区三区四区| 精品亚洲成人| 日本99精品| 美女网站一区| 久久国产免费看| 亚洲免费观看| 天堂а√在线最新版中文在线| 亚洲一区二区三区在线免费| 欧洲亚洲一区二区三区| 国产高清精品二区| 日韩福利视频网| 成人一区而且| 国产探花在线精品| 久久成人亚洲| 亚洲午夜av| 人人精品亚洲| 日韩专区精品| 亚洲综合在线电影| 精品国产欧美日韩| 欧美久久久网站| 天堂va欧美ⅴa亚洲va一国产| 水蜜桃久久夜色精品一区的特点 | 中文字幕成在线观看| 国产免费久久| 国产精品白丝久久av网站| 日韩va亚洲va欧美va久久| 特黄特色欧美大片| 久久人人97超碰国产公开结果| 色乱码一区二区三区网站| 久草精品视频|