16

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...

migrated from stackoverflow.com Dec 14 '11 at 5:59

This question came from our site for professional and enthusiast programmers.

  • 10 request in a specific sequence. Are they independent of eachother? – Jonas Dec 12 '11 at 21:35
  • 1
    And note: Linked in a chain doesn't mean it's not async unless everything is linked in that chain. – Erik Reppen Feb 22 '13 at 22:02
9

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

  • Glad I could help! – alessioalex Dec 13 '11 at 15:23
  • 1
    I sure appreciate these link you've provided! – Lonnie Best Feb 25 '15 at 23:31

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.