🛡️Escudo anti-spoilers🛡️
/
Las promesas son uno de esos temas que te recomienda ver más de una vez porque te van a volar la cabeza más a futuro. Te dejo el curso de asincronismo en JavaScript para que lo puedas entender mejor y te prometo que estos ejercicios se volverán más sencillos… o no 😉
/
Después del gif tendrás la solución explicada a este ejercicio 👇
Explicación 📖
Ahora sí, aquí tienes la explicación
export function sendEmail(email, subject, body) {
// De entrada empezamos retornando una promesa
// La cual nos provee de resolve y reject dependiendo si hay éxito en esta
return new Promise((resolve, reject) => {
// Primero validamos que todos los aspectos del email estén disponibles
if (email && subject && body) {
// De ser así, creamos un timeout para "enviar" el email
// Recuerden hacer uso de window para que las pruebas pasen
window.setTimeout(() => {
// Dentro del timeout definimos un objeto con
// todos los datos recibidos
const emailInfo = {
email,
subject,
body,
};
// Y lo pasamos a la resolución exitosa de la promesa
// Para que esto sea "enviado" después de 2 segundos
resolve(emailInfo);
}, 2000);
} else {
// En caso de faltar algún dato, lanzamos un error indicándolo
reject(new Error("Hacen falta datos para poder enviar el correo"));
}
});
}
Creo que al menos esta promesa es fácil de entender sin la explicación, de igual manera, te invito a que compartas tu solución y nos dejes cualquier duda que tengas respecto a esta solución o problema 💪
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?