He encontrado un problema extraño que no puedo encontrar una explicación en ningún lado. En el siguiente código, estoy tratando de obtener una cantidad de entidades de position , cada una por id usando y llamada API.
Algunas solicitudes de identificación pueden terminar con un 404, y eso no me importa, por eso estoy usando Promise.allSettled()
const positionsPromises = idList.map((id) => { return this.positionRepository.getPositionById(id); }); const positions = await Promise.allSettled(positionsPromises); Esto generalmente funciona, pero para las identificaciones que no existen (o cualquier otro error), obtengo los famosos registros de nodo para UnhandledPromiseRejectionWarning
sin embargo... cuando tomo el mismo código .map() y lo lanzo directamente dentro Promise.allSettled() no obtengo tales cosas, y funciona como se esperaba: algunos se resuelven, otros se rechazan y puedo iterar sobre las positions para verificar cada uno.
const positions = await Promise.allSettled( idList.map((id) => { return this.positionRepository.getPositionById(id); }), );¿Por qué está pasando esto? ¿Estoy haciendo algo mal aquí al devolver una serie de Promesas pendientes antes de esperarlas todas?