Array<Promise<Object>>
을 가지고 Promise<Array<Object>>
을 반환 할 수있는 함수가 필요합니다.자바 스크립트 약속 - 거부되지 않은 배열 얻기
Promise.all()
과 비슷하지만 reject
에 실패하지 않고 그냥 무시하고 계속 이동합니다.
Array<Promise<Object>>
을 가지고 Promise<Array<Object>>
을 반환 할 수있는 함수가 필요합니다.자바 스크립트 약속 - 거부되지 않은 배열 얻기
Promise.all()
과 비슷하지만 reject
에 실패하지 않고 그냥 무시하고 계속 이동합니다.
당신은 Promise<Array<X>>
에 Array<Promise<X>>
를 변환하는 Promise.all
를 사용할 수 있습니다.
것은 거부를 무시 단지 그들을 처리하고 대신 일부 null 값을 반환하려면 다음
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
'Promise>'에'Array >'을 쓰지 않는다고 확신 하시겠습니까? –
Thomas
'Promises <…>'이란 무엇입니까? – Bergi