javascript如何在foreach循環(huán)完成之后執(zhí)行一個回調(diào)函數(shù)
常規(guī)方法
代碼如下面demo所示,在foreach的回調(diào)函數(shù)中進行判斷,當(dāng)循環(huán)到數(shù)組最后一位元素的時候,執(zhí)行回調(diào)函數(shù):
function callBack(){ console.log('all done'); } function f(){ var count = 0; var arrTemp = [1, 2, 3]; arrTemp.forEach((item, index, arr) => { count++; if(count === arr.length){ this.callBack(); } }) } f()
使用Promise實現(xiàn)
實際工作中,當(dāng)目標(biāo)數(shù)組的元素內(nèi)容比較復(fù)雜,在回調(diào)函數(shù)中沒有辦法進行簡單的邏輯判斷時,可以使用Promise.all 方法實現(xiàn):
Promise.all( [1,2,3].map((item) => { return new Promise((resolve, reject) => { setTimeout(() => { console.log("in async function, item is" + item); resolve(item) },Math.random()*2000) }) }) ).then((result) => { console.log("all done"); console.log("result are:", result); })
總結(jié)
到此這篇關(guān)于javascript如何在foreach循環(huán)完成之后執(zhí)行一個回調(diào)函數(shù)的文章就介紹到這了,更多相關(guān)foreach循環(huán)完成后執(zhí)行回調(diào)函數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
javascript數(shù)組中的reduce方法和pop方法
這篇文章主要介紹了javascript數(shù)組中的reduce方法和pop方法,文章內(nèi)容介紹詳細(xì),具有一定的參考價值需要的小伙伴可以參考一下,希望對你的學(xué)習(xí)有所幫助2022-03-03JavaScript 對象深入學(xué)習(xí)總結(jié)(經(jīng)典)
JavaScript中,除了五種原始類型(即數(shù)字,字符串,布爾值,null,undefined)之外的都是對象了,所以,不把對象學(xué)明白怎么繼續(xù)往下學(xué)習(xí)呢?本篇文章給大家分享javascript對象深入學(xué)習(xí)總結(jié),小伙伴們跟著小編一起深入學(xué)習(xí)吧2015-09-09JavaScript?setTimeout和setInterval的用法與區(qū)別詳解
Javascript的setTimeOut和setInterval函數(shù)應(yīng)用非常廣泛,它們都用來處理延時和定時任務(wù),下面這篇文章主要給大家介紹了關(guān)于JavaScript?setTimeout和setInterval的用法與區(qū)別,需要的朋友可以參考下2022-04-04