I am fairly new to NodeJS and I'm having a hard time wrapping my head around the asynchronous nature of functions when I really want one call to follow the other in a synchronized way.
Say for instance I am calling web service methods. Every method has a callback function. But what if I want to call 10 of them in a specific sequence? Do I really need to chain / embed all the functions in the first callback? What if the second time the chain is slightly different?
Are there any elegant patterns to deal with situations where you actually do want things to be synchronous?
Or should I really let go of this kind of programming get used to a different way of thinking? If that's true maybe someone can point me to a clean example of a longer chain of functions using callbacks…
Best Answer
People usually use Step or Async for that. Check them out, there are a lot of nice tutorials about them, you'll see they come "to the resque:"
http://dailyjs.com/2011/11/14/popular-control-flow/
http://dailyjs.com/2011/11/07/code-review/
http://howtonode.org/step-of-conductor
Also check these 2 answers:
https://stackoverflow.com/questions/6954588/what-is-the-best-control-flow-module-for-node-js
https://stackoverflow.com/questions/5265743/node-js-what-techniques-are-there-for-writing-clean-simple-callback-code