Задать вопрос
@bernex

Как сделать async/await вывод в файл в правильном порядке?

let data = {cat:1,dog:2};
Object.keys(data).map(async (id) => {
                await  appendFile(fileName, id);
                await  appendFile(fileName, data[id]);
        });


out: catdog12

Но я хочу: cat1dog2

Как сделать такой асинхронный вывод в файл series(с правильным порядком) и чтобы исопользовать map,forEach,lodash?
  • Вопрос задан
  • 170 просмотров
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Мидл фронтенд-разработчик
    5 месяцев
    Далее
  • Яндекс Практикум
    Фулстек-разработчик
    16 месяцев
    Далее
  • Яндекс Практикум
    Профессиональная вёрстка на HTML и CSS
    3 месяца
    Далее
Пригласить эксперта
Ответы на вопрос 1
bingo347
@bingo347 Куратор тега Node.js
Crazy on performance...
async function saveData(data) {
  for(let id of Object.keys(data)) {
    await  appendFile(fileName, id);
    await  appendFile(fileName, data[id]);
  }
}

saveData({cat:1,dog:2})


Как вариант, для последовательного выполнения, решить задачу чисто на промисах:
let data = {cat:1,dog:2};
Object.keys(data).reduce(
  (p, id) => p
    .then(() => appendFile(fileName, id))
    .then(() => appendFile(fileName, data[id])),
  Promise.resolve()
);
Ответ написан
Ваш ответ на вопрос

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

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