Logo Studenta

Qué es una Promesa en JavaScript

¡Estudia con miles de materiales!

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.

Continuar navegando