Soy bastante nuevo en NodeJS y me resulta difícil entender la naturaleza asincrónica de las funciones cuando realmente quiero que una llamada siga a la otra de forma sincronizada.
Digamos, por ejemplo, que estoy llamando a métodos de servicio web. Cada método tiene una función de devolución de llamada. Pero, ¿qué pasa si quiero llamar a 10 de ellos en una secuencia específica? ¿Realmente necesito encadenar / incrustar todas las funciones en la primera devolución de llamada? ¿Qué pasa si la segunda vez la cadena es ligeramente diferente?
¿Hay patrones elegantes para lidiar con situaciones en las que realmente quieres que las cosas estén sincronizadas?
¿O debería dejar de lado este tipo de programación para acostumbrarme a una forma diferente de pensar? Si eso es cierto, tal vez alguien pueda señalarme un ejemplo limpio de una cadena de funciones más larga utilizando devoluciones de llamada ...
Respuestas:
La gente generalmente usa Step o Async para eso. Échales un vistazo, hay un montón de buenos tutoriales sobre ellos, verás que vienen "al resque:"
http://dailyjs.com/2011/11/14/popular-control-flow/
http://dailyjs.com/2011/11/07/code-review/
http://howtonode.org/step-of- conductor
También verifique estas 2 respuestas:
/programming/6954588/what-is-the-best-control-flow-module-for-node-js
/programming/5265743/node-js-what-techniques -are-there-for-writing-clean-simple-callback-code
fuente