you could use the async library or similar. other solution is to restructure your code:
var num1, num2, num3 function sum(){ if(num1 != null && num2 != null && num3 != null) return (num1 + num2) / num3 } Object1.retrieveNum1Async(sum); Object2.retrieveNum2Async(sum); Object3.retrieveNum3Async(sum); waterfalls are easy to refactor, as well parallels with full sync on completion like yours here. Am Montag, 22. April 2013 21:54:50 UTC+2 schrieb Slobodan Blazeski: > > Hi All > > I'm looking for suggestions of how to retrieve values asynchronously: > > In the synchronous world I have > > var num1 = Object1.retrieveNum1(); > var num2 = Object2.retrieveNum2(); > var num3 = Object3.retrieveNum3(); > > var result = (num1 + num2) / num3; > > > but since functions Object1.retrieveNum1,Object2.retrieveNum2 & > Object3.retrieveNum3 > retrieve data from the database or represent long calculation I need to > pass callbacks, > that leads me to below > > Object1.retrieveNum1Async(function(num1){ > Object2.retrieveNum2Async(function(num2){ > Object3.retrieveNum3Async(function(num3){ > var result = (num1 + num2) / num3; > }); > }); > }); > > is this the idiomatic way of doing this or there is something better > > > thanks > Bobi > > > > > -- -- Job Board: http://jobs.nodejs.org/ Posting guidelines: https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines You received this message because you are subscribed to the Google Groups "nodejs" group. To post to this group, send email to nodejs@googlegroups.com To unsubscribe from this group, send email to nodejs+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/nodejs?hl=en?hl=en --- You received this message because you are subscribed to the Google Groups "nodejs" group. To unsubscribe from this group and stop receiving emails from it, send an email to nodejs+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.