Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

87
Views
How to await asynchronous map function?

let me quickly get to the point. I have a function which fetches some user ids. It works very well.

const allIds = await fetchAllIds(someUrl);

Now the problem comes when I want to do something different. I'd like to loop over those ids and do some async await stuff with them. That is, to mainly fetch some data for each one with axios and modify them accordingly.

allIds.map(async (id) => {
  // 1. Fetch some data (try, catch and await)
  // 2. Modify the id based on that data
  // 3. Return the id, namely replace the old one
});

At the end of my code, I simply return allIds. The problem is that it returns them without waiting for the map function to execute completely. I tried different methods and none of it seems to be working. Could you please help me to make it work or perhaps suggest some other possible solutions? Thanks in advance!

about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

You basically have two problems:

  1. You are ignoring the return value of the map
  2. The map will return an array of Promises and you aren't awaiting them all

So:

const promises = allIds.map(...);
const replacement_ids = await Promise.all(promises);
return replacement_ids;
about 4 years ago · Juan Pablo Isaza Report

0

Use this instead.

const newList = await Promise.all(allIds.map(id=>new Promise(async(res)=>{
 // do your async here and get result;
 res(result);
})));

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!