Permítanme modificar la pregunta ¿por qué usamos Promesas en lugar de métodos de devolución de llamada en Node JS?
Como el nodo js es asíncrono, el nodo js sigue procesando las solicitudes antes de responder a la solicitud anterior.
Entonces, ¿qué es una promesa? Veamos una definición:
- ¿Cuál es la diferencia entre una API, una biblioteca y un marco?
- ¿Qué empresas ofrecen el mejor servicio de "PSD a HTML" en la Web en lo que respecta a la fiabilidad, la precisión y el precio?
- ¿Qué famosas empresas de desarrollo web diseñan sitios web en japonés?
- ¿Qué debo saber antes de crear un framework MVC PHP?
- Quiero comenzar un sitio web de comparación de precios, pero ¿cómo obtener los datos de los productos con su precio para agregar mi sitio desde otros sitios como Flipkart, Amazon o Ebay?
Una promesa es una abstracción para la programación asincrónica. Es un objeto que representa el valor de retorno o la excepción generada por una función que tiene que realizar un procesamiento asincrónico. – Kris Kowal
Las devoluciones de llamada son el mecanismo más simple posible para el código asincrónico en JavaScript. Desafortunadamente, las devoluciones de llamada sin procesar sacrifican el flujo de control, el manejo de excepciones y la semántica de funciones familiares del código síncrono. Las promesas proporcionan una forma de recuperar esas cosas.
El componente central de un objeto de promesa es su método. El método de then
es cómo obtenemos el valor de retorno (conocido como el valor de cumplimiento ) o la excepción lanzada (conocida como el motivo de rechazo ) de una operación asincrónica. then
toma dos devoluciones de llamada opcionales como argumentos, que llamaremos onFulfilled
y onRejected
:
Espero que tenga alguna idea de por qué estamos usando Promesas en lugar de Callbacks. Aquí hay un artículo de Marc Harter, eche un vistazo a este artículo, obtendrá más ideas tal como explicó al comparar Callbacks y las promesas.