title: Using loop with async/await inside loop + nodejs
body: <p>Hello in my nodejs api i need fetch data inside the loop and then again need to do a loop and save a data in another table how should i achive that? 
  Here is some snippet that i have tried but not succeeded for the same</p>
  
  <pre><code>async myAPIname(){
      let _this = this;
      try {
  
          const bets = await Bet.find({gameId:ObjectId(request.matchId)}).lean()
  
          bets.map(async (bet) =&gt; {
              let Users  = await Users.findOne({_id:ObjectId(element.userId)}).lean();
              Users.parentTree.map(async (user) =&gt; {
                  console.log(user);
                  // also over here based on the some calculation need to save the data in another table
              })
          })
  
      } catch (error) {
          _this.res.send({ status: 0, message: error });
      }
  
  }
  </code></pre>
  
  <p>Also in above snipped tried with <code>foreach</code> loop as well but not succeeded
  and error from above spinet like this:</p>
  
  <pre><code>(node:30886) UnhandledPromiseRejectionWarning: ReferenceError: Cannot access 'Users' before initialization
  at /var/www/html/api/app/controllers/SomeController.js:228:30
  at Array.map (&lt;anonymous&gt;)
  at SomeController.myAPIname (/var/www/html/api/app/controllers/SomeController.js:227:18)
  at processTicksAndRejections (internal/process/task_queues.js:97:5)
  
  (node:30886) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
  
  (node:30886) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
  (node:30886) UnhandledPromiseRejectionWarning: TypeError: Assignment to constant variable.
      at /var/www/html/api/app/controllers/SomeController.js:220:27
      at processTicksAndRejections (internal/process/task_queues.js:97:5)
  (node:30886) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 2)
  </code></pre>
  
  <p>Any Help will really appreciated</p>