Через setInterval запускаю функцию, которая ждет выполнения некоторого события. В итоге если событие отрабатывает, то результат возвращается несколько раз, тк функция асинхронная. Как можно сделать так чтобы setInterval дожидался выполнения прежде чем запускать новую функцию