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

Статус выполнения асинхронной функции nodejs?

Есть асинхронная функция :
var fun = async(function(){
  var list = 0;
  while(await(status())){
    list += await(anotherFun());
  }
  return list;
});


Нужно отследить каждый новый круг цикла. Функция может вызываться сразу несколько раз, поэтому записывать в отдельную переменную прогресс смысла особо нет
  • Вопрос задан
  • 378 просмотров
Подписаться 2 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
  • Академия Эдюсон
    Fullstack-разработчик на JavaScript + ИИ
    11 месяцев
    Далее
  • ProductStar × РБК
    Профессия: Инженер по тестированию
    6 месяцев
    Далее
Решения вопроса 1
Stalker_RED
@Stalker_RED
var counters = [] // массив
var fun = async(function(){
  var state = {val: 0, id: Math.random()} // при запуске новый счетчик
  var counterId = counters.push(state) - 1 // и теперь он доступен снаружи
  var list = 0;
  while(await(status())){
    list += await(anotherFun());
    state.val++ // увеличиваем значение счетчика
  }
  // delete counters[counterId]  // если хотите, можно подчистить
  return list;
});

если нужно отслеживать какой именно счетчик к какой функции привязан можно задавать id перед вызовом
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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