Procesos asíncronos en NodeJS con async.waterfall
Procesos asíncronos en NodeJS con async.waterfall



En este tutorial vamos a ver cómo podemos ejecutar Procesos asíncronos en NodeJS con async.waterfall para ejecutar un proceso completo de forma ordenada.

Este tipo de procesos es completamente imprescindible cuando necesitas que una serie de procesos se ejecuten de forma ordenada ya que en la mayoría de los casos unos dependerán de los datos conseguidos por otros.

Por ejemplo, tenemos un proceso que hace consultas a la base de datos en base a unos datos recibidos, puede ser que el proceso número 4 necesite una serie de datos que se han obtenido entre los procesos 1, 2 y 3, pues justamente para eso puedes necesitar async.waterfall, que es genial y fácil de utilizar.

Instalar Async Waterfall

Lo primero que necesitamos hacer es instalar el package async para utilizar waterfall en nodejs, para ello vamos primero a ejecutar el siguiente script.

Ahora vamos a crear un archivo app.js y añadimos la dependencia e inicializamos un objeto.

Una vez importamos waterfall e inicializamos initialData, vamos a escribir el trozo de código el cual ejecutará un proceso de forma asíncrona y finalmente devolverá un error o una respuesta.

Y el resultado obtenido será el siguiente.

Procesos asíncronos en NodeJS con async.waterfall
Procesos asíncronos en NodeJS con async.waterfall


Cómo puedes ver, no sólo se ejecutan los procesos de forma ordenada, sino que además somos capaces de alterar datos globales y pasar datos en cascada entre los determinados procesos del waterfall.

Si en algún momento necesitas parar el waterfall lo único que tendrías que hacer es que el primer parámetro de callback no sea null, con eso se pararían los procesos y se ejecutaría el error.

Iterar datos en procesos asíncronos con NodeJS

Otro tema completamente necesario en cualquier proceso es comprobar si los datos que estamos procesando son correctos, para ello podemos utilizar async.each, que nos permite iterar datos de forma asíncrona asegurándonos devolver una respuesta en el momento oportuno de forma correcta.

Para poder utilizar async.each vamos a modificar el script anterior por el siguiente.

Al igual que en el waterfall, con async.each tenemos otro callback el cual debemos utilizar para decir si todo ha ido bien o ha ocurrido algún error.

De momento eso es todo, cómo puedes ver realizar procesos asíncronos en NodeJS es muy sencillo gracias a async.

¿Te interesa NodeJS?

Accede a un curso completo ahora

En cursosdesarrolloweb.es tenemos cursos completos sobre desarrollo web y desarrollo móvil.

Si quieres aprender a trabajar de forma completa con NodeJS no dudes en visitarnos.