Hacker News new | ask | show | jobs
by aninimus 4818 days ago
I recently read a chapter of David Herman's Effective JavaScript[1] that talked about preserving the async contract even if you cache results (ie. can return without an async call from the caller). Try:

    if (connectionInstance) { 
      setTimeout(function(){callback(connectionInstance)}, 0); 
      return;
    }
That way your async functions will always behave the same way.

[1] http://effectivejs.com/

1 comments

Or maybe with process.nextTick.