title: async/ await not waiting for async.map call to be completed
body: <p>In my Node.js app I'm trying to use a helper function to gather and format some data to ultimately be returned via an API endpoint. I need to loop through an array, and for each entry, make an asynchronous call to my database. However, I'm unable to return this new array of data in my route once I map over it. I believe that this has something to do with the nature of 'async.map' but have been unable to figure it out from the docs. Am I missing something? Better way to do this?</p>
  
  <pre><code>router.get('/route',async (req,res) =&gt; {
      const formattedData = await module.formatData(data);
      // formattedData IS RETURNED AS UNDEFINED HERE
      res.json({data:formattedData});
  };
  </code></pre>
  
  <p>Relevant helper functions:</p>
  
  <pre><code>formatData: async(data) =&gt; {
      // gets entire object from the id that I originally had
      getNewData: (dataID) =&gt; {
          const data = Data.find({_id:dataID},(error,response)=&gt;{
            return response;
          })
          return data;
      },
      const formatDataHelper = async(data,done) =&gt;{
        // THIS function queries database (reason I have to use async)
        const newData = await getNewData(data);
        done(null, newData);
      }
      function dataMap(data, callback) {
        async.map(data, formatDataHelper, callback);
      }
  
      const returnData = await dataMap(data,(err,response)=&gt;{
        return response;
      })
  
      return returnData;
  
  },
  </code></pre>