Prototyp - wykonanie okresowe
Wielokrotnie wymagane jest wielokrotne wykonywanie funkcji po pewnym czasie. Na przykład możesz chcieć odświeżyć ekran po określonym czasie. Prototype zapewnia prosty mechanizm implementacji przy użyciu obiektu PeriodicalExecuter .
Zaletą PeriodicalExecuter jest to, że chroni Cię przed wieloma równoległymi wykonaniami funkcji zwrotnej.
Tworzenie PeriodicalExecuter
Konstruktor przyjmuje dwa argumenty -
- Funkcja oddzwaniania.
- Interwał (w sekundach) między wykonaniami.
Po uruchomieniu PeriodicalExecuter jest wyzwalany przez czas nieokreślony, aż do wyładowania strony lub zatrzymania modułu wykonawczego za pomocą metody stop () .
Przykład
Poniżej znajduje się przykład, w którym co 5 sekund pojawi się okno dialogowe, dopóki nie zatrzymasz go, naciskając przycisk „anuluj”.
<html>
<head>
<title>Prototype examples</title>
<script type = "text/javascript" src = "/javascript/prototype.js"></script>
<script>
function startExec() {
new PeriodicalExecuter(function(pe) {
if (!confirm('Want me to annoy you again later?'))
pe.stop();
}, 5);
}
</script>
</head>
<body>
<p>Click start button to start periodic executer:</p>
<br />
<br />
<input type = "button" value = "start" onclick = "startExec();"/>
</body>
</html>