[CARGANDO, POR FAVOR ESPERA]
000

Promesas En JavaScript: Guía Completa Para Conocer La Asincronía

Las promesas en JavaScript son una herramienta fundamental para gestionar operaciones asincrónicas de manera eficiente y legible. En este artículo, exploraremos en profundidad qué son, cómo funcionan y cómo utilizarlas correctamente en tus proyectos.

Índice

¿Qué es una promesa en JavaScript?

Una promesa es un objeto que representa la eventual finalización (o falla) de una operación asincrónica y su valor resultante. Permite asociar manejadores a un valor eventual devuelto por una operación asincrónica, facilitando la escritura de código más limpio y manejable.

Estados de una promesa

Una promesa puede encontrarse en uno de los siguientes estados:

  • Pendiente (Pending): Estado inicial, ni cumplida ni rechazada.
  • Cumplida (Fulfilled): La operación se completó exitosamente.
  • Rechazada (Rejected): La operación falló.

Cómo crear una promesa

const miPromesa = new Promise((resolve, reject) => {
  // Operación asincrónica
  if (todoBien) {
    resolve('Éxito');
  } else {
    reject('Error');
  }
});

Métodos then, catch y finally

Las promesas proporcionan métodos para manejar su resultado:

  • then: Se ejecuta cuando la promesa se cumple.
  • catch: Se ejecuta cuando la promesa es rechazada.
  • finally: Se ejecuta independientemente del resultado.
miPromesa
  .then(resultado => console.log(resultado))
  .catch(error => console.error(error))
  .finally(() => console.log('Operación completada'));

Async y Await

Introducidos en ECMAScript 2017, async y await permiten escribir código asincrónico de manera más legible:

async function obtenerDatos() {
  try {
    const respuesta = await fetch('https://api.ejemplo.com/datos');
    const datos = await respuesta.json();
    console.log(datos);
  } catch (error) {
    console.error(error);
  }
}

Manejo de errores en promesas

Es crucial manejar adecuadamente los errores en operaciones asincrónicas para evitar comportamientos inesperados:

fetch('https://api.ejemplo.com/datos')
  .then(respuesta => respuesta.json())
  .then(datos => console.log(datos))
  .catch(error => console.error('Error al obtener los datos:', error));

Diferencias entre then y await

then await
Encadena promesas Espera el resultado de una promesa
Puede llevar a “callback hell” Código más limpio y legible
Manejo de errores con catch Manejo de errores con try/catch

Conclusión

Dominar las promesas en JavaScript es esencial para escribir código asincrónico eficiente y mantenible. Ya sea utilizando then y catch o adoptando async y await, comprender estos conceptos te permitirá desarrollar aplicaciones más robustas y responder adecuadamente a las operaciones asincrónicas.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Fonsi
Resumen de privacidad

Esta web utiliza cookies para que podamos ofrecerte la mejor experiencia de usuario posible. La información de las cookies se almacena en tu navegador y realiza funciones tales como reconocerte cuando vuelves a nuestra web o ayudar a nuestro equipo a comprender qué secciones de la web encuentras más interesantes y útiles.