Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/415.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript承诺-获取未拒绝的_Javascript_Es6 Promise - Fatal编程技术网

Javascript承诺-获取未拒绝的

Javascript承诺-获取未拒绝的,javascript,es6-promise,Javascript,Es6 Promise,我需要一个可以接受数组并返回承诺的函数 这类似于一个Promise.all(),但它并没有在拒绝时失败,而是忽略它们,继续前进。我们使用了@Bergi描述的解决方案,您可以看到它 略为简化的示例如下: function preloadImages(imagePromises) { const IMAGE_LOAD_FAIL = null; const promises = imagePromises .map(image => image.catch(err =>

我需要一个可以接受
数组
并返回
承诺
的函数


这类似于一个
Promise.all()
,但它并没有在拒绝
时失败,而是忽略它们,继续前进。

我们使用了@Bergi描述的解决方案,您可以看到它

略为简化的示例如下:

function preloadImages(imagePromises) {
  const IMAGE_LOAD_FAIL = null;

  const promises = imagePromises
    .map(image => image.catch(err => IMAGE_LOAD_FAIL));

  return Promise.all(promises)
    .then(images =>  images.filter(image => image !== IMAGE_LOAD_FAIL));
}

您可以使用
Promise.all
数组
转换为
Promise,然后对数组进行后期处理。

而您的代码是?您确定您的意思不是
数组
转换为
Promise
?什么是
Promise
?只需使用
Promise.all(Promises.map(p=>p.catch(err=>undefined))
可能的重复?
Promise.all(promises.map(p => p.catch(err => undefined)))