Javascript處理循環(huán)的異步操作指南
更新時間:2022年03月16日 09:14:40 作者:曼聯(lián)的小黑熊
這篇文章主要給大家介紹了關于Javascript處理循環(huán)的異步操作的相關資料,文中通過實例代碼介紹的非常詳細,對大家學習或者使用js具有一定的參考學習價值,需要的朋友可以參考下
案例:
compute.exec()這是個異步方法,在里面處理一些實際業(yè)務,這時候打印出來的很可能就是300,300,300(因為異步for循環(huán)還沒有等異步操作返回Promise對象過來i值已經改變成300了)
function getMoney(){ var money=[100,200,300] for(let i=0; i<money.length; i++){ compute.exec().then(()=>{ console.log(money[i]) }) } }
一、async/await 處理思路
async function getMoney(){ var money=[100,200,300] for( let i=0; i<money.length; i++){ await compute.exec().then(()=>{ console.log(money[i]) }) } } // async告訴getMoney方法里面存在異步的操作 // await放在具體異步操作(方法)前面,意思是等待該異步返回Promise才會繼續(xù)后面的操作
二、遞歸處理思路
function getMoney(i) { var money=[100,200,300] compute.exec().then(() => { if ( i < money.length ) { console.log(money[i]); i++; getMoney(i); } }); } getMoney(0);//開始調用 //用遞歸來實現(xiàn)自我循環(huán)(具體循環(huán)在then里面,可以確保前面的compute.exec()的異步操作完成).then()是返回了Promise對象為resolve后才進行的(可以了解一下Promise對象)
總結
到此這篇關于Javascript處理循環(huán)的異步操作的文章就介紹到這了,更多相關Javascript循環(huán)異步操作內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
深入淺出JS的Object.defineProperty()
這篇文章主要介紹了深入淺出JS的Object.defineProperty(),文章圍繞主題展開詳細的內容介紹,具有一定的參考價值,感興趣的小伙伴可以參考一下2022-06-06JS+CSS實現(xiàn)仿觸屏手機撥號盤界面及功能模擬完整實例
這篇文章主要介紹了JS+CSS實現(xiàn)仿觸屏手機撥號盤界面及功能模擬完整實例,可以實現(xiàn)逼真模擬手機撥號盤界面并實現(xiàn)點擊輸入對應號碼的功能,需要的朋友可以參考下2015-05-05