@Terebonko

Таймер срабатывает раньше времени или вообще не срабатывает?

Помогите, пожалуйста, разобраться, что нетак с таймером.

Браузер Chrome
При создании записи, создаётся заметка со следующими свойствами:

- номер заметки isbn
- статус заметки
- дата
- время

Вычесляется время в миллисекундах и передаётся таймеру setTimeout, по истечении времени изменяется статус заметки с Inprocess на Failed.

Не могу понять, почему для некоторых дат, таймер срабатывает сразу или не срабатывает вообще. Например, если срок равен 30 августа, то таймер сработает сразу, а не 30 августа, от настоящего времени. Так же он не срабатывает если задать прошедшую дату, например 1 июля, статус заметки будет в процессе, а не failed. Здесь пример кода https://repl.it/Jt3i/4
  • Вопрос задан
  • 135 просмотров
Пригласить эксперта
Ответы на вопрос 1
Stalker_RED
@Stalker_RED
Всю вот эту колбасу
yearsNow = datesNow.getFullYear() * 31536000000,
monthsNow = (datesNow.getMonth() + 1) * 2592000000,
daysNow = datesNow.getDate() * 86400000,
hoursNow = datesNow.getHours() * 3600000,
minutesNow = datesNow.getMinutes()  * 60000,
totalDateNow = yearsNow + monthsNow + daysNow + hoursNow + minutesNow


Можно заменить на
datesNow.getTime()
https://developer.mozilla.org/ru/docs/Web/JavaScri...

Проблему с int32 можно решить по другому:
Запустить setInterval(timerCheck, 60000)
И в функции timerCheck сравнивать даты.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы