2 Stimmen

ClearInterval innerhalb des Intervalls

Ich habe ein Intervall wie folgt eingerichtet:

var inte = setInterval(function(){
        clearInterval(inte);
    },1000);

Gibt es eine Möglichkeit, es so zu machen?

setInterval(function(){
        clearInterval(this);
    },1000);

2voto

earldouglas Punkte 13012

Ich denke, du müsstest setInterval in deinem eigenen mySetInterval umhüllen, das die clearbare ID verfolgt:

function mySetInterval(f,t) {
  var x =
    setInterval(
      function() {
        f();
        clearInterval(x);
      },
      t 
    )
}

mySetInterval(function() { alert("foo"); }, 1000);

0voto

Yuriy Galanter Punkte 36638

Da Sie anscheinend dies nur einmal ausführen, warum verwenden Sie nicht setTimeout stattdessen?

setTimeout(function(){
   // Hier Ihre Aufgaben erledigen
}, 1000);

In diesem Fall müssen Sie nichts löschen.

0voto

machinateur Punkte 492

Speichern Sie die Funktion in einer Variablen. Anschließend können Sie die native .apply() Funktion verwenden, um Argumente anzuwenden und die 'this'-Variable der Funktion zu setzten. Google sollte einige Beispiele zu .apply() kennen, aber warum verwenden Sie nicht setTimeout(function(){},1000)? Dann bräuchten Sie keinen Intervall zu löschen, weil dies nur einmal ausgeführt wird.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X