How do I handle returning object after async for loop.
I need to process asynchronous all my elements and then call resolve(), but when I insert resolve() in loop it return after first element in loop. And when I'm adding resole() after loop it return empty object.
let boards = []
return new Promise((resolve, reject) => {
for (let i = 0; i < app.$store.state.sharedBoards.length; i++) {
app.$http.get('http://localhost:3000/boards?id=' + app.$store.state.sharedBoards[i]).
then((response) => {
boards.push(response.body[0])
//resolve()
}, (response) => {
console.log(response)
});
//resolve()
}
});
Thank you so much. It worked perfectly.
let boards = []
let promises = []
for (let i = 0; i < app.$store.state.sharedBoards.length; i++) {
promises.push(new Promise((resolve, reject) => {
app.$http.get('http://localhost:3000/boards?id=' + app.$store.state.sharedBoards[i]).
then((response) => {
resolve(response.body[0])
}, (response) => {
console.log(response)
})
})
)
}
return Promise.all(promises)
Worked perfectly, thanks!
Awesome, worked perfectly, thank you very much
Most helpful comment
Thank you so much. It worked perfectly.