Array.map과 함께 Async/Await 사용
Array.map과 함께 async/await를 사용하려고 하면 사용자에게 유사한 오류가 자주 발생합니다.
"'Promise
이 오류는 Wait 함수가 Promise를 해결해야 하기 때문에 발생합니다. 그러나 Array.map은 일반적으로 단일 Promise 대신 Promise 배열을 반환합니다.
해결책
이 문제를 해결하려면 Array에서 반환된 Promise 배열을 변환하세요. Promise.all을 사용하여 단일 Promise에 매핑합니다. Promise.all은 반복 가능한 인수의 모든 Promise가 해결된 경우에만 해결됩니다.
다음은 문제가 있는 코드의 수정된 버전입니다.
const arr = [1, 2, 3, 4, 5]; const results: number[] = await Promise.all(arr.map(async (item): Promise<number> => { await callAsynchronousOperation(item); return item + 1; }));
Promise.all을 활용하여 Promise 배열 단일 Promise로 해결되어 Wait가 올바르게 작동할 수 있도록 하고 "'Promise
추가 옵션
특정 사용 사례에 따라 Promise.allSettled, Promise.any 또는 Promise 사용을 고려해 보세요. Promise.all 대신 경주하세요. 그러나 위에서 설명한 것과 같은 상황에서는 일반적으로 Promise.all이 가장 적절한 선택입니다.
위 내용은 Array.map과 함께 Async/Await를 사용할 때 ''Promise[]' 유형을 'number[]' 유형에 할당할 수 없습니다' 문제를 해결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!