Skip to content

Instantly share code, notes, and snippets.

@glappen
Created September 24, 2014 16:04
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save glappen/72eb5bc8a96f481a4289 to your computer and use it in GitHub Desktop.
Save glappen/72eb5bc8a96f481a4289 to your computer and use it in GitHub Desktop.
var deferred = require('deferred');
User.find(115).success(function(user){
var categoryNamesDeferred = deferred();
user.getUserInterests().success(function(interests) {
var interestNames = [];
var innerDeferreds = [];
interests.forEach(function(interest) {
var catDeferred = deferred();
innerDeferreds.push(catDeferred);
var categoryName = null;
interest.getInterestCategory().success(function(ic) {
if (ic) {
catDeferred.resolve(ic.name);
}
});
interest.getInterestSubcategory().success(function(ic) {
if (ic) {
catDeferred.resolve(ic.name);
}
});
});
var deferredsResolved = 0;
innerDeferreds.forEach(function(innerDeferred) {
innerDeferred.promise(function(name) {
interestNames.push(name);
deferredsResolved++;
if (deferredsResolved==innerDeferreds.length) {
categoryNamesDeferred.resolve(interestNames);
}
});
});
});
categoryNamesDeferred.promise(function(names) {
// DO something with categories here....
console.log(names);
});
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment