Вы рекурсивно устанавливаете интервалы:
async function clock() {
//...
setInterval(() => clock(), 60000);
setInterval(() => {}, 60000*5);
}
Таким образом, каждый раз, когда вы звоните clock
(каждую минуту), вы устанавливаете все больше и больше интервалов для clock
и ну пустая функция. (Похоже, вы забыли попытаться позвонить serverTime
?)
Если вы хотите звонить clock
каждые 60 секунд, то просто установите интервал для его вызова каждые 60 секунд:
async function clock() {
//...
}
setInterval(clock, 60000);
Если вы хотите вызывать serverTime
каждые 5 минут, то просто установите интервал для его вызова каждые 5 минут:
async function serverTime() {
//...
}
setInterval(serverTime, 300000);
Нет необходимости делать это рекурсивно. Это означает, что установка интервала является частью повторяемой операции, а это не то, что вам нужно.
Редактировать: Чтобы продемонстрировать проблему, посмотрите Консоль браузера по этой ссылке: https://jsfiddle.net/Laqt4oe5 Сколько раз вы ожидаете, что число будет увеличиваться каждые 3 секунды? Сколько раз это на самом деле увеличивается?