javascript – 没有蓝鸟的Promise.each

前端之家收集整理的这篇文章主要介绍了javascript – 没有蓝鸟的Promise.each前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我需要在蓝鸟上使用Promise.each.但是当我看到捆绑文件时,我实际上是在考虑使用蓝鸟.

任何人都可以使用像bluebird Promise.each这样没有依赖关系的函数给我一个例子.

解决方法

当然:
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());
}

或者使用现代JS(Chrome或Edge或带有转换器):

Promise.each = async function(arr,fn) { // take an array and a function
   for(const item of arr) await fn(item);
}

猜你在找的JavaScript相关文章