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 循环ajax,依次执行,同步
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- async 真心挺好用的 哎 以前写的都是用闭包 循环完了 加和 再cb出来如果用 async 就没那么多麻烦了 ...
- 箭头函数 Map var map = new Map() 对象 设置 ma...