Есть некоторые проблемы, которые необходимо решить в вашем коде.
1) processUser - это асинхронная функция. Array.prototype.forEach
не уважает асинхронные функции, как описано здесь, в MDN .
2) setInterval не учитывает возвращаемое значение вашей функции, как описано здесь, в MDN , поэтому передача функции, которая возвращает обещание (async / await), не будет вести себя должным образом.
3) setInterval не следует использовать с функциями, выполнение которых потенциально может занять больше времени, чем ваш интервал, как описано здесь, в MDN в Usage Section
в нижней части страницы.
Нажатие внешнего API для каждого пользователя каждые 2 секунды и реакция на результат будет проблематичной c под лучшие обстоятельства. Я бы начал с вопроса, действительно ли это способ достижения моей общей цели только .
Если это - это единственный способ, вы, вероятно, захотите реализовать свое решение, используя рекурсивный setTimeout()
, упомянутый в ссылке в # 2 выше, или, возможно, используя asyn c версия setInterval()
там одна на npm здесь