js?promise?中使用?setTimeout?實現(xiàn)暫停執(zhí)行的效果
在使用 promise 時,需要使用 setTimeout 來進(jìn)行延時執(zhí)行
對 promise 還不太熟悉的同學(xué)可能第一時間想到的是這樣的寫法
如:
run(); async function run() { console.log('1'); // 等待兩秒之后執(zhí)行 setTimeout(() => { const data = await getData(); console.log(data); }, 200); } function getData() { return new Promise((resolve, reject) => { resolve("200"); }) }
這樣寫 await 就報錯了
想要實現(xiàn)延時效果,我們這里先封裝個sleep
function x_sleep(time) { return new Promise(resovle => { setTimeout(() => { resolve(); }, time) }) }
此時就可以通過我們的 sleep函數(shù)去進(jìn)行延時處理了
完整代碼:
run(); async function run() { console.log("1"); // 停止2秒 await x_sleep(2000); const data = await getData(); console.log(data); } function getData() { return new Promise((resolve, reject) => { resolve("200"); }) } function x_sleep(time) { return new Promise(resolve => { setTimeout(() => { resolve(); }, time) }) }
到此這篇關(guān)于js promise 中使用 setTimeout 實現(xiàn)暫停執(zhí)行 的文章就介紹到這了,更多相關(guān)js使用 setTimeout 實現(xiàn)暫停執(zhí)行 內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
javascript setAttribute, getAttribute 在不同瀏覽器上的不同表現(xiàn)
該方法把指定的屬性設(shè)置為指定的值。如果不存在具有指定名稱的屬性,該方法將創(chuàng)建一個新屬性。2010-08-08JavaScript中的純函數(shù)與偏函數(shù)你了解嗎
JS中,純函數(shù)指在相同的輸入下始終產(chǎn)生相同的輸出并且沒有副作用的函數(shù),偏函數(shù)指一種創(chuàng)建新函數(shù)的方法,通過預(yù)設(shè)一個或多個參數(shù)從而實現(xiàn)對原始函數(shù)的封裝和定制,本文主要來講講純函數(shù)與偏函數(shù)的一些使用,需要的可以參考一下2023-05-05基于JavaScript實現(xiàn)數(shù)值型坐標(biāo)軸刻度計算算法(echarts的y軸刻度計算)
這篇文章主要介紹了基于JavaScript實現(xiàn)數(shù)值型坐標(biāo)軸刻度計算算法(echarts的y軸刻度計算),文章圍繞主題展開詳細(xì)的內(nèi)容介紹,感興趣的朋友可以參考與一下2022-06-06