@sheeel

Async / await массивы?

Как правильно написать асинхронный array map с вызовом асинхронной функции
//gid = [ 3417744,  3413239,  4054641,  3297954,  4818643,  4610528,  3994962 ]
let results = await gid.map((id)=> parseID(id)) // не работает
let results = await gid.map((id)=> await parseID(id)) // ошибка

Хелп
  • Вопрос задан
  • 1372 просмотра
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
const results = await Promise.all(gid.map(id => parseID(id)));
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
SagePtr
@SagePtr
Еда - это святое
Через Promise.all, а в функции map возвращать промис, который с текущим элементом что-то делает

let results = await Promise.all(gid.map(async id => await parseID(id)));
Ответ написан
Комментировать
@davidnum95
Насколько я помню, последовательно через map никак, только через обычный циклы, for...in например
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы