Usando express tengo una ruta REST donde busco algunos datos. Dentro de esta solicitud, también agrego una entrada en una tabla de eventos (para fines de información de la aplicación) en la base de datos. Realmente no me importa esperar a que se guarde ese evento antes de devolver los datos reales al solicitante, ya que guardar el evento no es tan importante para el usuario final.
Algo así como este pseudocódigo:
const data = await getResponseDataFromDatabase(); insertInsightsEventIntoDatabase(); // returns a promise which I don't want to wait for return data;Dado que hubo un error en insertInsightsEventIntoDatabase, recibí este error en los registros:
This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). The promise rejected with the reason: Error: Cannot set headers after they are sent to the clientSi espero insertInsightsEventIntoDatabase() obtendría un registro de errores mucho mejor en la consola que muestra un error del ORM que estoy usando.
Mi pregunta es, ¿está mal no esperar el método? Me gusta la idea de no esperarlo solo para que se "ejecute en segundo plano" y no bloquear el tiempo que lleva enviar la respuesta a la solicitud del cliente. El inconveniente es que parece que se traga el error real y me gustaría mucho tener el error original en los logs.
¿Estoy haciendo esto mal?