title: Async map - callback executing early
body: <p>In this async map, the final callback argument is getting called before it logs out 'in events'. (I am just using console.log to avoid over complicating it)...</p>
  
  <p>So where I log 'in last cb' is getting getting logged after all the 'in map' but before events. How do I stop the final callback from firing straight away?</p>
  
  <pre><code>const addEvents = (seasons, cb) =&gt; {
  async.map(seasons, (season, seasonCb) =&gt; {
    console.log('in map');
    Model.Events.find({season_id: season._id.toString()}, (err, events) =&gt; {
      if (err) {
        console.log('in err');
        return seasonCb(err);
      }
      console.log(events, 'events');
    });
    console.log('finish');
    seasonCb(null, season);
  }, (err) =&gt; {
    if (err) {
      console.log('in err');
      return cb(err);
    }
    console.log(seasons, 'in last cb');
    cb(null, seasons);
  });
  };
  </code></pre>