Я использую setInterval() с Node, однако я сталкиваюсь со странной проблемой. Почему-то, когда я пытаюсь установить интервал 9000000 , он не работает. Я пытаюсь выполнить задачу каждые 86400000 миллисекунд (24 часа).

Ниже работает:

 setInterval(() ={amp}gt; {console.log('hello')}, 1000) 

Тем не менее, это не так — он даже не выводит hello первый раз, как следует при вызове:

 setInterval(() ={amp}gt; {console.log('hello')}, 900000000) 

Что я здесь не так делаю?

Интервал хранится в виде 32-битного целого, поэтому максимальное значение, которое вы можете использовать, составляет 2 147 483 647 или Math.pow(2, 31) - 1

Это работает примерно до [25 дней / 596 часов] . Другими словами, ваша ценность должна работать нормально

Вот соответствующая часть Документов

Вот пример:

 // This is the maximum value you can wait, so it will actually wait this long setInterval(() ={amp}gt; console.log('You will not see me'), Math.pow(2, 31) - 1) // This is 1 above the maximum value, so it overflows to 0 setInterval(() ={amp}gt; console.log('Overflow'), Math.pow(2, 31))