Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
¿Qué es una Promesa en JavaScript? Una Promesa en JavaScript es un objeto que representa el resultado eventual (éxito o fracaso) de una operación asincrónica. Es una forma más estructurada y legible de manejar código asíncrono en comparación con el uso de callbacks anidados. Las Promesas resuelven el problema conocido como "callback hell" o "infierno de los callbacks", que ocurre cuando se tienen múltiples funciones asincrónicas anidadas dentro de otras, lo que puede dificultar la lectura y el mantenimiento del código. Una Promesa puede tener tres estados posibles: 1. Pendiente (Pending): Es el estado inicial de una Promesa, cuando se crea pero aún no ha sido resuelta ni rechazada. 2. Cumplida (Fulfilled): Es el estado en el que la Promesa se resuelve exitosamente con un valor. 3. Rechazada (Rejected): Es el estado en el que la Promesa es rechazada, generalmente con un error. La sintaxis para crear una Promesa en JavaScript es la siguiente: Javascript----------------------------------------------------------------------- const miPromesa = new Promise((resolve, reject) => { // Aquí se realiza la operación asincrónica // Si la operación es exitosa, llamamos a resolve(valor) // Si ocurre un error, llamamos a reject(error) }); ------------------------------------------------------------------------------------ Cuando la operación asincrónica se completa con éxito, se llama a `resolve(valor)` para cumplir la Promesa con el valor deseado. Si ocurre un error durante la operación, se llama a `reject(error)` para rechazar la Promesa con un error específico. Para manejar el resultado de una Promesa, utilizamos los métodos `then()` y `catch()`. El método `then()` se ejecuta cuando la Promesa se cumple (resolve), y el método `catch()` se ejecuta cuando la Promesa es rechazada (reject). También se puede usar el método `finally()` para ejecutar una función independientemente de si la Promesa se cumple o se rechaza. Un ejemplo de uso de Promesas en JavaScript sería: Javascript------------------------------------------------------------------------------------------------------ const miPromesa = new Promise((resolve, reject) => { setTimeout(() => { const randomNum = Math.random(); if (randomNum < 0.5) { resolve(randomNum); // Promesa cumplida con éxito } else { reject(new Error('La Promesa fue rechazada')); // Promesa rechazada con error } }, 1000); }); miPromesa.then((valor) => { console.log('Promesa cumplida:', valor); }).catch((error) => { console.error('Promesa rechazada:', error.message); }); ---------------------------------------------------------------------------------------------------------------------- En este ejemplo, creamos una Promesa que se resuelve con un valor aleatorio entre 0 y 1 después de un segundo. Si el valor es menor que 0.5, la Promesa se cumple y el valor se muestra en la consola. Si el valor es mayor o igual a 0.5, la Promesa se rechaza y se muestra el mensaje de error.
Compartir