@BKeyport said in Not updating at midnight...:
start: function () {
function scheduleMidnightUpdate() {
const now = new Date();
const nextMidnight = new Date(now);
// Set the time to midnight
nextMidnight.setHours(24, 0, 0, 0);
// Calculate the time remaining until the next midnight
const timeUntilMidnight = nextMidnight - now;
// Schedule the updateDom method to be called at midnight
setTimeout(() => {
this.updateDom();
// Reschedule the update for the next midnight
scheduleMidnightUpdate.call(this);
}, timeUntilMidnight);
}
},
I would do it like this , much more straight forward
function scheduleMidnightUpdate() {
const now = new Date();
const nextMidnight = new Date(now);
// Set the time to midnight
nextMidnight.setHours(24, 0, 0, 0);
// Calculate the time remaining until the next midnight
const timeUntilMidnight = nextMidnight - now;
// Schedule the updateDom method to be called at midnight
setTimeout(() => {
// trigger first update on next midnight change
this.updateDom();
// start Recurring midnight change
setInterval(()=>{
this.updateDom()
}, 24*60*60*1000 ) // 24 hours * 60 minutes * 60 seconds * 1000 milliseconds (1 day elapsed in ms) setInterval delay
}, timeUntilMidnight); // setTimeout delay
}
},
then the system triggers every midnight… not your code