Async/Await with For Loop
by Theara Yuom
Babel + JSX
const waitFor = (ms) => new Promise(r => setTimeout(r, ms))
// ------------------
let data = [
{ id: 1 },
{ id: 2 },
{ id: 3 }
]
// ForEach
async function forEachFun(array) {
array.forEach(async (num) => {
await waitFor(100)
num.name = `A`
console.log(num)
})
console.log('Done!', array)
}
// For...Of
async function forOfFun(array) {
for (const num of array) {
await waitFor(100)
num.name = 'A'
console.log(num)
}
console.log('Done!', array)
}
// Promise.all
async function proAllFun(array) {
const promises = array.map(async (num) => {
await waitFor(100)
num.name = `A`
console.log(num)
})
await Promise.all(promises)
console.log('Done!', array)
}
forOfFun(data)