Javascript Promises - 得到非拒绝的数组

时间:2017-04-07 11:35:02

标签: javascript es6-promise

我需要一个可以Array<Promise<Object>>并返回Promise<Array<Object>>的函数。

它类似于Promise.all(),但它不会在reject上失败而只是忽略它们,然后继续前进。

2 个答案:

答案 0 :(得分:2)

您可以使用Promise.allArray<Promise<X>>转换为Promise<Array<X>>

要忽略拒绝,只需处理它们并返回一些空值:

Promise.all(promises.map(p => p.catch(err => undefined)))

如果您有兴趣将它们完全过滤掉,请使用对数组进行后期处理的this approach

答案 1 :(得分:0)

我们选择@Bergi描述的解决方案,你可以看到它here

稍微简化的例子如下:

File = ['File' + str(i) for i in range(1, 65)]