Here is a good example of the code to call async function in loop for element of an array and update the exiting array. In this example I have used the Array.prototype.entries() function to get the index and value of each array item of a simple array. Array.prototype.entries() method helps to iterate an array with index and element.   function timeout(ms) {     return new Promise(resolve => setTimeout(resolve, ms)); }  async function resolveAfter2Seconds(num) {     await timeout(2000);     return num; }   async function main() {     let arr = ["Saab", "Volvo", "BMW"];          for (let [index, val] of arr.entries()) {         console.log(index, val);         console.log(await resolveAfter2Seconds(val));     } }  main();