@jslby

Как асинхронно запустить функцию в NodeJS?

Здравствуйте!
Имеется функция, по типу этой:
const myFunc = async () => {
      let data = redis.pop('list_name');
      let response = await fetch('https://api.github.com/users/' + data);
      log.add(response.status);
}

Мне нужно некое подобие потоков, но только параллельное асинхронное выполнение. Т.е. необходимо выполнять данную функцию в бесконечном цикле, но максимальное количество паралельных выполнений должно быть например 5. Пробовал реализовать через async.queue, но там нет возможности бесконечного выполнения. Сейчас думаю в сторону for of внутри функции. Подскажите, как бы вы реализовали подобную задачу? В идеале, что бы когда заканчиваются записи в редисе, скрипт прекращал работу
  • Вопрос задан
  • 137 просмотров
Решения вопроса 1
profesor08
@profesor08
const runner = async () => {
  while(true) {
    await myFunc();
  }
};

runner();
runner();
runner();
runner();
runner();
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы