Muszę odświeżać stronę co 30 minut i jaużyj funkcji settimeout, aby to osiągnąć. Tak więc mój interwał to 1800000. Przy takim interwale mam do czynienia z problemem wydajności. Wygląda na to, że ustalanie limitu czasu jest dość chciwą funkcją. Czy istnieje lepsze rozwiązanie, aby wykonać moje zadanie?
Odpowiedzi:
2 dla odpowiedzi № 1Nie jestem tego świadomy setTimeout
problemy z wydajnością.
Jeśli problemem był duży limit czasu, możesz po prostu zrobić coś takiego, aby nadal sprawdzać, czy upłynął 30 minut, ale skrócić czas oczekiwania, tj. Sprawdzać co minutę, jeśli upłynęło 30 minut:
var oneMinute = 60000;
var expired = new Date((new Date()).getTime() + 30*oneMinute);
var checkExpired = function(){
if( new Date() < expired) {setTimeout(checkExpired, oneMinute); }
else { reloadPage();}
});
setTimeout(checkExpired, oneMinute);