Mientras implementaba una función de resolución de graphql, me encontré con un error UnhandledPromiseRejectionWarning . Estoy enviando una solicitud para clasificar un texto y es la clasificación la que arroja un error. Quiero volver a lanzar cualquier error que se arroje, pero el error no se detecta en el bloque catch.
No estoy await la solicitud porque estoy enviando otras dos solicitudes con la solicitud de clasificación en paralelo, pero estoy await cada solicitud en una función Promise.all.
Aquí está el código:
createPost: async ( _, { fields: { media, text, location } }) => { try { const firstRequest = languageClient.classifyText({ document: { content: text, type: 'PLAIN_TEXT' } }); const secondRequest = // another request const thirdRequest = // another request const result = await Promise.all([firstRequest, secondRequest, thirdRequest]); } catch(error) { throw error } }¿Cómo manejo el error correctamente?
Estúpido de mí, envolví Promise.all con una declaración if, por lo que ni siquiera se está ejecutando en absoluto. Esa es la razón por la que obtengo resultados extraños. Acabo de descubrir esto después de 3 días. Soy tan estúpido.