массив айдишек, по каждой делаю запрос в бд, получаю объект, обновляю, сохраняю. При этом я хочу держать пользователя в курсе обработки этого всего: каждый третий сейв хочу логгировать.
Если синхронно это делать, без async, то все гуд. А как с async? Что происходит с аккумулятором?
const myFun = () => {
const arr = [1,2,3,4,5,6];
arr.reduce(async (loaded, id) => {
await Promise.resolve(id);
if (!(loaded % 3)) {
console.log(loaded ${loaded} rooms);
}
return ++loaded
}, 1);
}
myFun();
я в свое время натыкался что в мапе не работает асинхронный код. Возможно это из той же оперы?
А так и будет функция выглядеть? Просто сейчас звучит, что редьюс не нужен
Так там запросы в бд, евейт есть
Вам поможет bluebird http://bluebirdjs.com/docs/api-reference.html
Работает все если в промис обернуть
что именно? можно пример?
в мапе есть смысл использовать await?
если ничего не возвращаешь, но просто обновляешь что-то
Решение моего вчерашнего вопроса и, в принципе, всех вопросов по асинк с проходкой по массивам reduce ничего не ломает, работает как надо https://advancedweb.hu/how-to-use-async-functions-with-array-reduce-in-javascript/
Обсуждают сегодня