¿Qué son las promesas?

Código asíncrono que se ejecutará en el futuro


Las promesas son un concepto para simplificar el manejo de la asincronía en Javascript de una forma mucho más elegante y práctica que, por ejemplo, la que se utilizaba antiguamente haciendo uso de las funciones callbacks, ya que era fácil que se volviese un código complejo y difícil de leer.

¿Qué son las promesas?

Como su propio nombre indica, en la programación al igual que en la vida real, una promesa es algo que en principio pensamos que se cumplirá en el futuro, pero a medida que pasa el tiempo pueden ocurrir varias cosas:

Promises (Promesas Javascript)

  • La promesa se cumple (promesa resuelta)
  • La promesa no se cumple (promesa rechazada)
  • La promesa se queda en un estado incierto indefinidamente (promesa pendiente)

Con estas sencillas bases, podemos entender el funcionamiento de una promesa en Javascript (o en la vida real). Antes de empezar, también debemos tener claro que existen dos partes importantes de las promesas:

  • 1️⃣ Como consumirlas (Utilizar funciones que devuelven promesas)
  • 2️⃣ Como crearlas (Crear funciones que se puedan consumir con promesas)

Más adelante nos centraremos en cada uno de estos puntos.

Entendiendo las promesas

Hasta ahora, habíamos dicho que trabajabamos con código síncrono, que se ejecuta de forma secuencial, es decir, una línea detrás de otra:

primera_funcion();
segunda_funcion();
tercera_funcion();

Las promesas son una especie de condición que «se queda en espera» y se ejecutará en el futuro. De esta forma, podemos manejar código asíncrono sin bloquear la ejecución del resto del programa:

primera_funcion_asincrona();
  cuando_ocurra_la_condicion -> haz_esto();
segunda_funcion_asincrona();
  cuando_ocurra_la_condicion -> haz_esto();
tercera_funcion_asincrona();
  cuando_ocurra_la_condicion -> haz_esto();

Al ejecutar la función asíncrona, el programa continua con la siguiente línea de código. Realmente, no ha terminado de ejecutar el código de la función anterior, pero se ha quedado en espera, hasta que se cumpla el criterio o condición de la promesa.

Cuando estamos acostumbrados a trabajar con código síncrono, se nos hace muy raro este tipo de ejecución, pero una vez nos acostumbramos a las promesas, es una forma muy sencilla y cómoda de trabajar.

Recuerda que lo ideal es tener siempre en cuenta las tres posibilidades de una promesa: que se cumpla, que se rechace o que se quede pendiente y no ocurra ninguna de las dos anteriores.

¿Quién soy yo?

Soy Manz, vivo en Tenerife (España) y soy streamer partner en Twitch y profesor. Me apasiona el universo de la programación web, el diseño y desarrollo web y la tecnología en general. Aunque soy full-stack, mi pasión es el front-end, la terminal y crear cosas divertidas y locas.

Puedes encontrar más sobre mi en Manz.dev