El nodejs async module: https://github.com/caolan/async proporciona 2 métodos similares, async.waterfall
y async.series
.Cuál es la diferencia entre async.waterfall y async.series
¿Cuál es la diferencia entre ellos?
El nodejs async module: https://github.com/caolan/async proporciona 2 métodos similares, async.waterfall
y async.series
.Cuál es la diferencia entre async.waterfall y async.series
¿Cuál es la diferencia entre ellos?
Parece que async.waterfall
permite que cada función pase sus resultados a la siguiente función, mientras que async.series
pasa todos los resultados a la devolución de llamada final. En un nivel superior, async.waterfall
sería para una canalización de datos ("dado 2, multiplíquelo por 3, agregue 2 y divida por 17"), mientras que async.series
sería para tareas discretas que deben realizarse en orden, pero por lo demás están separadas .
Ambas funciones pasan el valor de retorno, de cada función a la siguiente, y cuando lo haga llamará a la devolución de llamada principal, pasando su error, si ocurre un error.
La diferencia es que async.series()
, una vez que la serie haya finalizado, pasará todos los resultados a la devolución de llamada principal. async.waterfall()
pasará a la devolución de llamada principal solo el resultado de la última función llamada.
Esta debería ser la respuesta ;-) –
@Mario "Ambas funciones pasan la devolución de llamada de la función anterior "O" Ambas funciones pasan el resultado de la función anterior "? – user1451111
@ user1451111, Resultado, lol ... Estoy seguro de haber escrito eso la primera vez ... – Mario
async.waterfall()
se trata de un action that relies on the previous outcome
.
async.series()
se trata de una acción que quiere see all the result at the end
Imágenes increíblemente creadas. ¿Los creaste tú mismo o los conseguiste en otro lado? – user1451111
Gracias por las imágenes; simple y claro. Pulgares hacia arriba. –
Gracias !!!! Ahora finalmente entiendo :) –
¿Es posible que cualquiera de estas dos funciones para devolver un valor? He leído que es posible, pero no puedo encontrar información relevante en ningún lugar de la documentación. –
@AndersonGreen: No. Al mirar la fuente de la biblioteca, ni 'waterfall' ni' series' devuelven un valor. Se espera que cualquiera que sea el resultado se utilizará en el parámetro de devolución de llamada opcional. – Twisol
La respuesta anterior puede ser correcta hasta 2012, pero la correcta es la misma que la siguiente, que es: series() como se llama que TODOS los resultados como una serie pasaron a la devolución de llamada final, y la cascada es el ÚLTIMO resultado pasado a la devolución de llamada final. Ver [Mozilla Developer] (https://developer.mozilla.org/en-US/docs/Learn/Server-side/Express_Nodejs/Displaying_data) – Jeb50