paint-brush
6 razones por las que JavaScript Async/Await acaba con las promesas (Tutorial)por@mgaafar
465,158 lecturas
465,158 lecturas

6 razones por las que JavaScript Async/Await acaba con las promesas (Tutorial)

por Mostafa Gaafar2017/03/16
Read on Terminal Reader
Read this story w/o Javascript

Demasiado Largo; Para Leer

NodeJS es compatible con async/await de fábrica desde la versión 7.6. Creo que ha sido la mayor adición individual a JS desde 2017. Si aún no lo ha probado, aquí hay un montón de razones con ejemplos de por qué debería adoptarlo de inmediato y nunca mirar hacia atrás.

Companies Mentioned

Mention Thumbnail
Mention Thumbnail
featured image - 6 razones por las que JavaScript Async/Await acaba con las promesas (Tutorial)
Mostafa Gaafar HackerNoon profile picture

NodeJS es compatible con async/await de fábrica desde la versión 7.6. Creo que ha sido la mayor adición individual a JS desde 2017. Si aún no lo ha probado, aquí hay un montón de razones con ejemplos por los que debería adoptarlo de inmediato y nunca mirar hacia atrás.

[ACTUALIZAR]: Este artículo ha sido editado para ser más relevante en 2019

Asíncrono/Espera 101

Para aquellos que nunca han oído hablar de este tema antes, aquí hay una introducción rápida

  • Async/await es una nueva forma de escribir código asíncrono. Las alternativas anteriores para el código asíncrono son las devoluciones de llamada y las promesas.
  • Async/await es en realidad solo azúcar de sintaxis construida sobre promesas. No se puede usar con devoluciones de llamada simples o devoluciones de llamada de nodo.
  • Async/await es, como las promesas, sin bloqueo.
  • Async/await hace que el código asíncrono se vea y se comporte un poco más como el código síncrono. Aquí es donde reside todo su poder.

Sintaxis

Asumiendo una función getJSON que devuelve una promesa, y esa promesa se resuelve con algún objeto JSON. Solo queremos llamarlo y registrar ese JSON, luego devolver "done" .

Así es como lo implementarías usando promesas

2. Si establece un punto de interrupción dentro de un bloque .then y usa accesos directos de depuración como step-over, el depurador no se moverá al siguiente .then porque solo "pasos" a través del código síncrono.

Con async/await no necesita tanto las funciones de flecha, y puede recorrer las llamadas en espera exactamente como si fueran llamadas sincrónicas normales.

En conclusión

Async/await es una de las características más revolucionarias que se han agregado a JavaScript en los últimos años. Te hace darte cuenta de lo que promete un lío sintáctico y proporciona un reemplazo intuitivo.

Preocupaciones

Un cierto escepticismo válido que podría tener sobre el uso de esta función es que hace que el código asíncrono sea menos obvio: nuestros ojos aprendieron a detectar el código asíncrono cada vez que vemos una devolución de llamada o un .then , sus ojos tardarán algunas semanas en adaptarse al nuevo signos, pero C# tuvo esta característica durante años y las personas que están familiarizadas con ella saben que vale la pena este pequeño inconveniente temporal.

Sígueme en twitter @imgaafar