Есть асинхронная функция (в реале это запрос на сервер). Нужно выполнять эту функцию, дожидаться ее окончания и делать перерыв в несколько секунд (желательно рандомно). Попробовал такое. но это работает некорректно
let currentNumber = 1
function processNumber (number) {
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve(number)
}, 3000)
})
}
setInterval(async () => {
const p = await processNumber(currentNumber)
console.log(p)
currentNumber++
}, 3000)
6 секунд интервал соблюдается только в первый раз. В последующие вызовы перерыв только 3 секунды.
Как делать паузу между вызовами асинхронной функции?