title: Adding to an array asynchronously in Node.js
body: <p>I'm pretty new to this type of programming and I'm having some trouble populating an array from a nested call. I'm pretty sure this needs to be done using callbacks, but I'm having trouble wrapping my brain around it. Closures must also come into play here. I tried searching the web for a similar example but didn't find much. </p>
  
  <p>Here is my original code. I tried a few different approaches but didn't pull it off. </p>
  
  <pre><code>TaskSchema.statics.formatAssignee = function(assignees) {
    var users = [];
  
    assignees.forEach(function(uid) {
      mongoose.model('User').findById(uid, function(err, user) {
        users.push({
            name: user.name.full
          , id: user.id
        });
      });
    });
  
    return users;
  }
  </code></pre>