我需要一個功能,可以使用Array<Promise<Object>>
並返回Promise<Array<Object>>
。Javascript Promises - get Array of non rejected
它會類似於Promise.all()
,但它不會在reject
上失敗,它只是忽略它們,然後繼續前進。
我需要一個功能,可以使用Array<Promise<Object>>
並返回Promise<Array<Object>>
。Javascript Promises - get Array of non rejected
它會類似於Promise.all()
,但它不會在reject
上失敗,它只是忽略它們,然後繼續前進。
可以使用Promise.all
到Array<Promise<X>>
變換爲Promise<Array<X>>
。
要忽略拒絕,只是處理,並將處理返回一些空值,而不是:
Promise.all(promises.map(p => p.catch(err => undefined)))
如果你有興趣完全過濾出來,用this approach該後處理數組。
我們使用@Bergi描述的解決方案,您可以看到它here。
略微簡化的例子如下:
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));
}
和你的代碼是什麼? – funcoding
你確定你不是說'陣<無極
什麼是承諾<…>? – Bergi