var arr=[1,2,3,4,5,6,7,8,9]
function PromiseForEach(arr, cb) {
let realResult = []
let result = Promise.resolve()
arr.forEach((a, index) => {
result = result.then(() => {
return cb(a).then((res) => {
realResult.push(res)
})
})
})
return result.then(() => {
return realResult
})
}
PromiseForEach(arr, (ele) => {
return new Promise((resolve, reject) => {
setTimeout(() => {
console.log(ele);
return resolve(ele);
}, Math.random()*1000);
})
}).then((data) => {
console.log("成功");
console.log(data);
}).catch((err) => {
console.log("失敗");
console.log(err)
});
promise 循環(huán)ajax,依次執(zhí)行,同步
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。
相關(guān)閱讀更多精彩內(nèi)容
- async 真心挺好用的 哎 以前寫的都是用閉包 循環(huán)完了 加和 再cb出來如果用 async 就沒那么多麻煩了 ...
- 箭頭函數(shù) Map????var map = new Map()????????對象????設(shè)置????????ma...
- 這是最近做點一個用戶點贊的功能代碼,思路: 獲取當前點擊的cuskey值(相當于數(shù)據(jù)表的ID),用ajax 調(diào)用 ...
- Promise 對象用于一個異步操作的最終結(jié)果(成功或失敗)的表示。顧名思義,它代表一個承諾,一個對異步操作在未來...