¿Conoces los estados de promesas en JavaScript? JavaScript es un lenguaje de programación que se distingue de los otros por muchas razones. Una de estas razones es su tendencia a basarse en eventos en vez de en cadenas. Esta tendencia es la que nos permite crear y preparar acciones que serán ejecutadas en tiempos no inmediatos; a esto le llamamos asincronía.
Entre las distintas maneras que tenemos de crear asincronía, las promesas son las más populares. Por ello, en este post, te enseñaremos cómo funcionan los estados de promesas en JavaScript, fundamentales para entender la ejecución de acciones no inmediatas.
¿Qué es una promesa en JavaScript?
Como has podido leer en nuestro post sobre las promesas en JavaScript, una promesa o promise es un objeto general que nos permite crear escenarios en los que una u otra acción se ejecutará dependiendo de las condiciones que tengan lugar. Para crear estos escenarios, las promesas utilizan los parámetros resolver y rechazar, que a su vez son funciones bajo las cuales se ejecutará una acción.
En las promesas de JavaScript, los parámetros resolver y rechazar no son solamente funciones condicionales. Estos dos parámetros tienen que ver con los estados de una promesa.
Las promesas son un objeto que representa una operación que no se ha completado aún, pero que se completará más adelante. Como el resultado de una promesa no es inmediato, con los parámetros rechazar y resolver dejamos preparado el comportamiento que debe suceder en caso de que el proceso vaya bien y en caso de que el proceso vaya mal.
La preparación de acciones para eventos no inmediatos se llama asincronía. En nuestro post sobre la asincronía en JavaScript, puedes leer cómo funciona este concepto y por qué es importante. De manera simple, la asincronía funciona como un mandado. Entonces, puedes decirle a tu compañero de piso que, cuando tenga un tiempo, vaya a por pan. Además, le dices que, si no hay el pan de siempre, compre el pan rústico.
En esta conversación, has dejado preparadas las acciones en caso de que vaya bien (comprar el de siempre) y en caso de que vaya mal (comprar el pan rústico). Además, esta acción es asincrónica porque dependemos de cuando nuestro compañero de vivienda vaya a por pan, e incluso de si decide hacerlo.
Entonces, las promesas pueden pasar por diferentes estados según si están completas o no. Cuando están completas, también hay diferencia en el cómo fueron resueltas. A continuación, te explicamos exactamente qué son los estados de promesas en JavaScript.
¿Qué son los estados de promesas en JavaScript?
La particularidad de las promesas en JavaScript es que tienen un tipo de control de estado. Esta variable de control solo puede tener los siguientes estados:
Pendiente
Dentro de los estados de promesas en JavaScript, el estado por defecto es pendiente. También conocido en inglés como pending, el estado pendiente es el que se le da a una promesa en cuanto se crea. Es decir, la promesa está en espera de ser completada. En este orden de ideas, una promesa solo puede pasar del estado pendiente al estado completada. A continuación, te explicamos a qué se refiere este estado.
Completada
También conocido en inglés como settled, el estado completada de una promesa quiere decir que se ha ejecutado su proceso hacia un resultado. Como hemos visto antes, una promesa tiene dos parámetros o funciones posibles: resolver y rechazar. Estos dos parámetros se alinean con los dos valores posibles que tiene el estado completada.
Satisfactoriamente
A este valor también se le conoce como fulfilled en inglés. Una promesa puede ser completada satisfactoriamente cuando todo ha ido bien. Es decir, cuando se ha utilizado la función resolve.
Rechazada
Una promesa también puede ser completada y rechazada. Esto sucede cuando el proceso ha ido mal y se le conoce en inglés como rejected. Como su nombre indica, este estado es posible cuando se ha utilizado la función reject.
Después de leer este post, sabes exactamente cuáles son y cómo funcionan los estados de promesas en JavaScript. Además, has dado un paso en tu camino para dominar este lenguaje de programación.
Ahora, el siguiente paso es dedicarte a su aprendizaje por completo. Para ello, te recomendamos nuestro Desarrollo Web Full Stack Bootcamp, donde aprenderás la teoría y la práctica de este y otros lenguajes de programación en tan solo unos meses. ¿A qué esperas para inscribirte y cumplir tu sueño de ser un desarrollador web? ¡Hazlo ahora!