我需要一個函數來初始運行,然後在下午12點和上午12點重新運行。如果有任何影響,我使用VueJS。設置每12小時的時間間隔
fetch_datetime()
{
axios.get('/api/core/datetime').then((response) => {
this.datetime = response.data;
this.set_interval();
});
},
set_interval()
{
var current_date = new Date();
var hours = current_date.getHours();
var minutes = current_date.getMinutes();
var seconds = current_date.getSeconds();
if(hours == 12 && minutes == 0 && seconds == 0 || hours == 0 && minutes == 0 && seconds == 0)
{
this.fetch_datetime();
} else
{
if(hours >= 12)
{
setTimeout(this.fetch_datetime, (1000 * (60 - seconds) * (60 - minutes)) + (1000 * 60 * (24 - hours - 1) * 60));
} else
{
setTimeout(this.fetch_datetime, (1000 * (60 - seconds) * (60 - minutes)) + (1000 * 60 * (12 - hours - 1) * 60));
}
}
但是,這不是按預期方式工作,並且該功能運行得很早,然後在小時內運行多次。
誰將打開瀏覽器12小時後再次運行該功能? – Pete
這個想法是,如果用戶在11:50訪問該站點,該功能需要在12:00重新運行。 – Imagine17
更好的問題是:Imagine17真的等了12個小時,看看它是否有效:D – SkryptX