Javascript Logo
en español

Cómo crear una promesa en Javascript

Fácil
-
2 min. lectura

Una promesa en Javascript es un objeto que representa un valor que puede estar disponible ahora, en el futuro o nunca. Las promesas son especialmente útiles para manejar funciones asíncronas, como peticiones a servidores, ya que te permiten controlar el flujo de ejecución de tu programa de una manera más elegante y sencilla.

Para crear una promesa en Javascript, debes utilizar la clase "Promise". La clase "Promise" toma una función que tiene dos argumentos: "resolve" y "reject". La función debe realizar alguna tarea asíncrona y luego llamar a "resolve" si se realiza correctamente, o a "reject" si ocurre algún error. Aquí te dejo un ejemplo:

const myPromise = new Promise((resolve, reject) => {
  setTimeout(() => {
    const result = Math.random();
    if (result > 0.5) {
      resolve(result);
    } else {
      reject(new Error('El número es menor a 0.5'));
    }
  }, 2000);
});

myPromise
  .then(result => console.log(`El resultado es ${result}`))
  .catch(error => console.log(error));

En este ejemplo, creamos una promesa que genera un número aleatorio después de dos segundos. Si el número es mayor a 0.5, llamamos a "resolve" con el número como argumento. De lo contrario, llamamos a "reject" con un error como argumento. Luego, utilizamos "then" para manejar el resultado si se resuelve la promesa correctamente, y "catch" para manejar cualquier error que ocurra.

También puedes encadenar varias promesas utilizando "then". Por ejemplo, supongamos que queremos realizar dos solicitudes HTTP en serie. Podemos utilizar una promesa para cada solicitud y encadenarlas utilizando "then". Aquí te dejo un ejemplo:

fetch('https://api.example.com/data/1')
  .then(response => response.json())
  .then(data => fetch(`https://api.example.com/data/${data.relatedId}`))
  .then(response => response.json())
  .then(data => console.log(data))
  .catch(error => console.log(error));

En este ejemplo, utilizamos "fetch" para realizar dos solicitudes HTTP en serie. Primero, hacemos una solicitud para obtener los datos del ID 1. Luego, utilizamos el resultado para hacer una segunda solicitud para obtener los datos del ID relacionado. Finalmente, imprimimos los datos en la consola. Si ocurre algún error en cualquiera de las solicitudes, lo manejamos con "catch".

Al crear una promesa, puedes controlar el flujo de ejecución de tu programa de manera más precisa y manejable. Aprender a utilizar promesas es fundamental para escribir código eficaz y de calidad en Javascript.