Heim > Web-Frontend > js-Tutorial > Warum ruft js zurück?

Warum ruft js zurück?

little bottle
Freigeben: 2019-05-31 13:20:31
Original
2358 Leute haben es durchsucht

In Javascript sind Funktionen erstklassige Objekte, was bedeutet, dass Funktionen wie Objekte mit erstklassiger Verwaltung verwendet werden können. Da Funktionen eigentlich Objekte sind, können sie in Variablen „gespeichert“ werden, als Funktionsparameter übergeben, innerhalb von Funktionen erstellt und von Funktionen zurückgegeben werden. Da Funktionen erstklassige Objekte sind, können wir Callback-Funktionen in Javascript verwenden. Lassen Sie uns gemeinsam etwas über Rückrufe lernen.

Warum ruft js zurück?

Einfach ausgedrückt: Ein Rückruf bezieht sich auf eine Funktion, die aufgerufen wird, nachdem eine andere Funktion die Ausführung abgeschlossen hat

Es ist eine etwas komplizierter Um es ganz klar auszudrücken: In JavaScript sind Funktionen auch Objekte. Daher können Funktionen in Funktionen als Parameter übergeben und auch von anderen Funktionen zurückgegeben werden. Solche Funktionen werden Funktionen höherer Ordnung genannt. Die als Parameter übergebene Funktion wird als Callback-Funktion bezeichnet.

Lassen Sie uns darüber sprechen, warum wir Rückrufe brauchen?

Es gibt einen sehr wichtigen Grund – JavaScript ist eine ereignisgesteuerte Sprache. Dies bedeutet, dass JavaScript nicht aufhört, während es auf eine Antwort wartet, sondern weiter ausgeführt wird, während es auf andere Ereignisse wartet.

Sehen wir uns ein einfaches Beispiel an:

function first(){
  console.log(1);
}
function second(){
  console.log(2);
}
first();
second();
Nach dem Login kopieren

Wie zu erwarten ist, wird zuerst die erste Funktion und dann die zweite Funktion ausgeführt – die Konsolenausgabe lautet wie folgt:

// 1
// 2
Nach dem Login kopieren

Aber was ist, wenn die Funktion zunächst Code enthält, der nicht sofort ausgeführt werden kann?

Zum Beispiel eine API-Anfrage, bei der wir eine Anfrage senden und dann auf eine Antwort warten müssen? Um diese Situation zu simulieren, verwenden wir setTimeout, eine JavaScript-Funktion, die nach einer bestimmten Zeit eine Funktion aufruft. Wir verzögern die Funktion um 500 Millisekunden, um eine API-Anfrage zu simulieren:

function first(){
// 模拟代码延迟
  setTimeout( function(){
console.log(1);
  }, 500 );
}
function second(){
  console.log(2);
}
first();
second();
Nach dem Login kopieren

Jetzt ist es nicht wichtig zu verstehen, wie setTimeout() funktioniert have console.log( 1); Innerhalb der 500-Sekunden-Verzögerungsfunktion verschoben. Was passiert also, wenn die Funktion jetzt aufgerufen wird?

first();
second();
// 2
// 1
Nach dem Login kopieren

Obwohl wir zuerst die Funktion first() aufgerufen haben, erfolgt die aufgezeichnete Ausgabe nach der Funktion second().

Dies liegt nicht daran, dass JavaScript Funktionen nicht in der gewünschten Reihenfolge ausführt, sondern daran, dass JavaScript nicht auf die Antwort von first() wartet, bevor es mit second() fortfährt.

Warum zeigen Sie das?

Weil Sie Funktionen nicht nacheinander aufrufen und erwarten können, dass sie in der richtigen Reihenfolge ausgeführt werden.

Callback ist genau die Möglichkeit, sicherzustellen, dass ein Codeteil ausgeführt wird, bevor ein anderer Codeteil ausgeführt wird.

Das obige ist der detaillierte Inhalt vonWarum ruft js zurück?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage