/ / Funkcja Settimeout z dużym interwałem zjada dużo mocy procesora - javascript, wydajność, procesor, settimeout

Funkcja Settimeout z dużym interwałem zużywa dużo mocy procesora - javascript, performance, cpu, settimeout

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 № 1

Nie 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);