Avatar ·

Cómo rechazar (reject) una promesa correctamente al usar async/await en TypeScript

¡Hola a todos! Recientemente comencé a aprender async/await en TypeScript y me encontré con un problema. Tengo una función que debe realizar una operación asíncrona, pero bajo ciertas condiciones necesito devolver un error (reject). El problema es que no entiendo cómo "rechazar" la promesa correctamente cuando uso la sintaxis async/await. Aquí hay un ejemplo de mi código: ```typescript async function fetchUserData(userId: string): Promise { // Quiero rechazar la promesa si userId está vacío if (!userId) { // ¿Cómo hago reject aquí correctamente? } const response = await fetch(`/api/users/${userId}`); return response.json(); } ``` Sé que en una Promise clásica se puede llamar a reject(), pero en una función async el return automáticamente completa la promesa con resolve. Intenté lanzar un error con throw, pero se siente un poco torpe. ¿Hay una forma más correcta? ¿O throw es la manera estándar? También me interesa saber cómo tipificar correctamente estos errores para que TypeScript