Я использую Moment.js для обработки времени. 10 Внутренние объекты (продолжительность) были правильно определены с временем начала и окончания, как показано в JSFiddle этого вопроса.
Этот скрипт предназначен для использования разницы между время окончания и настоящее, чтобы определить необходимое Timeout
, которое должно быть установлено для вызова функции endInning()
. Это реализовано в цикле для обработки 10 иннингов.
for (x = 0; x < 10; x++) { // for each of ten defined innings
// calculate the difference between the end of inning x and now
timeTillEnd = moment(Game.innings[x].start).diff(moment(now),"milliseconds");
// and set the necessary delay
setTimeout(function () {
endInning(x);
}, timeTillEnd);
}
Однако вместо увеличения задержки на 12 часов каждая задержка остается неизменной.
Результат:
Окончание тайма 1 в пятницу, 12:00, 412712000 мс с сейчас.
Окончание тайма 2 в пятницу, 12:00, 412712000 мс с сейчас.
Окончание тайма 3 в пятницу, 12:00, 412712000 мс с сейчас.
...и так далее до 10-го иннинга.
В чем моя ошибка и как ее исправить?
Редактирует:
После того, как я задал вопросы, связанные с моими практиками с этим скриптом, я думаю, что эти вопросы/ответы связаны:
Закрытие JavaScript внутри циклов — простой практический пример
Почему я не должен создавать функции внутри цикла в Javascript ?
Итак, мой вопрос звучит так: Как я могу применить эту практику? для моей конкретной ситуации?