javascript如何在foreach循環(huán)完成之后執(zhí)行一個(gè)回調(diào)函數(shù)
常規(guī)方法
代碼如下面demo所示,在foreach的回調(diào)函數(shù)中進(jìn)行判斷,當(dāng)循環(huán)到數(shù)組最后一位元素的時(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實(shí)現(xiàn)
實(shí)際工作中,當(dāng)目標(biāo)數(shù)組的元素內(nèi)容比較復(fù)雜,在回調(diào)函數(shù)中沒(méi)有辦法進(jìn)行簡(jiǎn)單的邏輯判斷時(shí),可以使用Promise.all 方法實(shí)現(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í)行一個(gè)回調(diào)函數(shù)的文章就介紹到這了,更多相關(guān)foreach循環(huán)完成后執(zhí)行回調(diào)函數(shù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
javascript數(shù)組中的reduce方法和pop方法
這篇文章主要介紹了javascript數(shù)組中的reduce方法和pop方法,文章內(nèi)容介紹詳細(xì),具有一定的參考價(jià)值需要的小伙伴可以參考一下,希望對(duì)你的學(xué)習(xí)有所幫助2022-03-03js判斷手機(jī)端(Android手機(jī)還是iPhone手機(jī))
現(xiàn)在使用手機(jī)上網(wǎng)的人越來(lái)越多,一些下載網(wǎng)站會(huì)通過(guò)判斷不同系統(tǒng)手機(jī)來(lái)訪問(wèn)不同網(wǎng)頁(yè),比如iPhone和Android。下面我們就來(lái)介紹一下如何用javascript判斷iPhone或Android手機(jī)訪問(wèn)2015-07-07使用微信小程序開(kāi)發(fā)彈出框應(yīng)用實(shí)例詳解
本文通過(guò)實(shí)例代碼給大家介紹了使用微信小程序開(kāi)發(fā)彈出框功能,代碼簡(jiǎn)單易懂,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-10-10js實(shí)現(xiàn)表單項(xiàng)的全選、反選及刪除操作示例
這篇文章主要介紹了js實(shí)現(xiàn)表單項(xiàng)的全選、反選及刪除操作,結(jié)合實(shí)例形式分析了基于dedecms后臺(tái)使用js實(shí)現(xiàn)表單項(xiàng)的全選、反選及刪除相關(guān)操作技巧,需要的朋友可以參考下2020-06-06JavaScript 對(duì)象深入學(xué)習(xí)總結(jié)(經(jīng)典)
JavaScript中,除了五種原始類(lèi)型(即數(shù)字,字符串,布爾值,null,undefined)之外的都是對(duì)象了,所以,不把對(duì)象學(xué)明白怎么繼續(xù)往下學(xué)習(xí)呢?本篇文章給大家分享javascript對(duì)象深入學(xué)習(xí)總結(jié),小伙伴們跟著小編一起深入學(xué)習(xí)吧2015-09-09javascript漢字拼音互轉(zhuǎn)的簡(jiǎn)單實(shí)例
下面小編就為大家?guī)?lái)一篇javascript漢字拼音互轉(zhuǎn)的簡(jiǎn)單實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-10-10JS簡(jiǎn)單實(shí)現(xiàn)動(dòng)畫(huà)彈出層效果
本文給大家介紹的是是一款javascript彈出層特效,支持點(diǎn)擊觸發(fā)js彈出層,滑過(guò)觸發(fā)js彈出層,帶動(dòng)畫(huà)效果js彈出層,可自定義函數(shù)回調(diào)js彈出層。2015-05-05JavaScript?setTimeout和setInterval的用法與區(qū)別詳解
Javascript的setTimeOut和setInterval函數(shù)應(yīng)用非常廣泛,它們都用來(lái)處理延時(shí)和定時(shí)任務(wù),下面這篇文章主要給大家介紹了關(guān)于JavaScript?setTimeout和setInterval的用法與區(qū)別,需要的朋友可以參考下2022-04-04