MH *_*har 11 javascript promise bluebird
我需要Promise.each在蓝鸟上使用.但是当我看到捆绑文件时,我实际上是在考虑使用蓝鸟.
任何人都可以使用像bluebird这样 Promise.each没有依赖关系的函数给我一个例子.
Ben*_*aum 21
当然:
Promise.each = function(arr, fn) { // take an array and a function
// invalid input
if(!Array.isArray(arr)) return Promise.reject(new Error("Non array passed to each"));
// empty case
if(arr.length === 0) return Promise.resolve();
return arr.reduce(function(prev, cur) {
return prev.then(() => fn(cur))
}, Promise.resolve());
}
Run Code Online (Sandbox Code Playgroud)
或者使用现代JS(Chrome或Edge或带有转换器):
Promise.each = async function(arr, fn) { // take an array and a function
for(const item of arr) await fn(item);
}
Run Code Online (Sandbox Code Playgroud)