Skip to content

Latest commit

 

History

History
61 lines (42 loc) · 2.69 KB

File metadata and controls

61 lines (42 loc) · 2.69 KB

Asincronía y Promesas en JavaScript

Asincronía

La asincronía en JavaScript se refiere a la capacidad de realizar operaciones sin bloquear la ejecución del resto del código. En un entorno asíncrono, las tareas pueden ejecutarse en segundo plano, permitiendo que el programa continúe ejecutando otras instrucciones en lugar de esperar a que se complete una tarea. La asincronía es esencial para manejar operaciones que pueden llevar tiempo, como solicitudes de red, la lectura/escritura de archivos, entre otros.

Ejemplo de Operación Asíncrona con Callbacks:

console.log("Inicio");

setTimeout(() => {
  console.log("Operación asíncrona completada");
}, 2000);

console.log("Fin");

En este ejemplo, la función setTimeout ejecuta la operación asíncrona después de un intervalo de tiempo especificado, permitiendo que el resto del código continúe ejecutándose.

Promesas

Una Promesa es un objeto que representa la eventual finalización o fallo de una operación asíncrona. Las Promesas proporcionan una forma más limpia y estructurada de trabajar con código asíncrono en comparación con los callbacks anidados. Una Promesa puede estar en uno de los siguientes estados: pendiente (pending), resuelta (fulfilled), o rechazada (rejected).

Creación de una Promesa en JavaScript

const miPromesa = new Promise((resolve, reject) => {
  // Código asíncrono
  const exito = true;

  if (exito) {
    resolve("La operación fue exitosa");
  } else {
    reject("La operación falló");
  }
});

miPromesa
  .then((mensaje) => {
    console.log("Éxito:", mensaje);
  })
  .catch((error) => {
    console.error("Error:", error);
  });

En este ejemplo, la Promesa se resuelve si la operación es exitosa y se rechaza si la operación falla. Los métodos then y catch se utilizan para manejar el resultado de la Promesa, ya sea en caso de éxito o de error.

Ventajas de las Promesas

  1. Manejo Estructurado: Las Promesas permiten un manejo más estructurado de operaciones asíncronas en comparación con callbacks anidados, mejorando la legibilidad del código.

  2. Encadenamiento: La capacidad de encadenar múltiples operaciones asíncronas de manera ordenada mediante el uso de then facilita la creación de flujos de trabajo complejos.

  3. Manejo de Errores Mejorado: El uso de catch proporciona una forma clara de manejar errores en operaciones asíncronas, facilitando la identificación y corrección de problemas.

En resumen, la asincronía y las Promesas son conceptos fundamentales en JavaScript que permiten un manejo más efectivo y estructurado de operaciones asíncronas, mejorando la legibilidad y mantenibilidad del código.