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>

Wynik