什么是Promise.all(),它的用法是什么?promise.all
當(dāng)前位置:點(diǎn)晴教程→知識(shí)管理交流
→『 技術(shù)文檔交流 』
![]() ![]() ? Promise.all() 是JavaScript中的一個(gè)靜態(tài)方法,用于等待多個(gè)Promise對(duì)象同時(shí)完成。? 基本概念和功能 Promise.all()方法接受一個(gè)Promise可迭代對(duì)象(如數(shù)組)作為輸入,并返回一個(gè)新的Promise。當(dāng)所有輸入的Promise都成功兌現(xiàn)(fulfilled)時(shí),返回的Promise也會(huì)兌現(xiàn),并返回一個(gè)包含所有兌現(xiàn)值的數(shù)組。如果任何一個(gè)Promise失?。╮ejected),返回的Promise也會(huì)立即失敗,并帶有第一個(gè)失敗的reason。 參數(shù)和返回值 ?參數(shù)?:一個(gè)可迭代對(duì)象,通常是一個(gè)數(shù)組,包含多個(gè)Promise對(duì)象。 ?返回值?:一個(gè)Promise對(duì)象。如果所有輸入的Promise都成功兌現(xiàn),返回的Promise也會(huì)兌現(xiàn),并返回一個(gè)包含所有兌現(xiàn)值的數(shù)組;如果任何一個(gè)Promise失敗,返回的Promise也會(huì)立即失敗,并帶有第一個(gè)失敗的reason?12。 使用場(chǎng)景和示例代碼 假設(shè)有多個(gè)異步任務(wù)需要并行執(zhí)行,并且主程序需要等待所有任務(wù)完成后才能繼續(xù)執(zhí)行,可以使用Promise.all()。例如: javascriptCopy Code const forMatData = async() => { const params = { /* 接口請(qǐng)求參數(shù) */ }; // 調(diào)用接口并獲取數(shù)據(jù) const { data } = await postRequest(params); // 對(duì)返回值進(jìn)行處理 const resultList = data.result.map((item) => { return new Promise<void>((resolve) => { // 處理返回值的方法 resolve(); }); }); Promise.all(resultList).then(() => { // 當(dāng)resultList執(zhí)行結(jié)束后,再執(zhí)行下面的方法 layerPage.value = true; }); } 在這個(gè)例子中,resultList是一個(gè)包含多個(gè)Promise的數(shù)組。使用Promise.all(resultList)可以等待所有Promise完成后再執(zhí)行后續(xù)操作? ?該文章在 2025/6/27 17:44:55 編輯過 |
相關(guān)文章
正在查詢... |