Attendre de retour d'une fonction javascript jusqu'à ce que condition

C'est un étrange problème. J'ai un client de l'objet que je suis la construction à l'aide de Crockford-esque public/privé:

var client = function() {
  var that, remote_data, other_data; 

  //add public interface
  that.doStuff = function(){...}

  //wait for remote resources to load
  remote_data = jsonRequest1();
  other_data  = jsonRequest2();

  return that;
};

Le problème, je vais avoir, c'est que j'ai besoin de charger une certaine distance l'JSON ressources avant de retourner les nouveaux " que " de l'objet (qui signale un prêt du client). Les données sont renvoyées de manière asynchrone (évidemment), et je suis en train de variables booléennes pour indiquer lors de chaque ressource distante est de retour.

J'ai pensé à faire quelque chose comme ce qui suit:

return whenInitialized(function() { return that; });

La whenInitialized fonction retourne si oui ou non les deux booléens drapeaux sont remplies. Je ne l'utiliserais avec une combinaison de setInterval, mais je suis sûr que cela ne fonctionne pas.

Serions heureux de recevoir vos suggestions.

OriginalL'auteur findchris | 2011-12-01