Heim >Web-Frontend >js-Tutorial >Wie kann ich den „this'-Kontext im „setInterval'-Callback von JavaScript beibehalten?

Wie kann ich den „this'-Kontext im „setInterval'-Callback von JavaScript beibehalten?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-29 10:34:14292Durchsuche

How Can I Preserve the `this` Context in JavaScript's `setInterval` Callback?

Dies im setInterval Callback von JavaScript beibehalten

In JavaScript bezieht sich das Schlüsselwort this auf das Objekt, das den aktuell ausgeführten Code besitzt. Dies kann bei der Verwendung von setInterval problematisch werden, da die Callback-Funktion in einem anderen Kontext ausgeführt wird und der Zugriff auf das ursprüngliche This verloren geht. Um dies zu umgehen:

Zugriff darauf in setInterval-Handlern

Um den Zugriff darauf im setInterval-Rückruf zu ermöglichen, können wir die bind()-Methode verwenden:

this.intervalID = setInterval(this.retrieve_rate.bind(this), this.INTERVAL);

Hier , bind(this) stellt sicher, dass sich this innerhalb des Recall_Rate-Rückrufs immer auf das Objekt bezieht, in dem das Intervall festgelegt wurde (d. h. das Objekt, in dem sich prefs befindet). definiert).

Mit dieser Änderung können Sie jetzt innerhalb des ajax.onload-Rückrufs auf this.prefs zugreifen:

ajax.onload = function()
{
    // Access this.prefs here
}

Das obige ist der detaillierte Inhalt vonWie kann ich den „this'-Kontext im „setInterval'-Callback von JavaScript beibehalten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn