Was ist ein Rückruf?
Eine Callback-Funktion ist eine Funktion, die über einen Funktionszeiger aufgerufen wird. Wenn Sie einen Funktionszeiger (Adresse) als Parameter an eine andere Funktion übergeben und dieser Zeiger zum Aufrufen der Funktion verwendet wird, auf die er zeigt, sprechen wir von einer Callback-Funktion. Die Rückruffunktion wird nicht direkt vom Implementierer der Funktion aufgerufen, sondern von einer anderen Partei, wenn ein bestimmtes Ereignis oder eine bestimmte Bedingung eintritt, um auf das Ereignis oder die Bedingung zu reagieren.
Diese Erklärung schien kompliziert, daher habe ich auf Zhihu eine bessere Erklärung gefunden
Sie gehen in ein Geschäft, um etwas zu kaufen, und das, was Sie wollen, ist zufällig nicht vorrätig, also hinterlassen Sie Ihre Telefonnummer beim Verkäufer. Nach ein paar Tagen ist der Laden vorrätig, und der Verkäufer ruft Ihre Nummer an und dann Sie Ich erhielt einen Anruf. Dann ging ich zum Laden, um die Ware abzuholen. In diesem Beispiel wird Ihre Telefonnummer als Rückruffunktion bezeichnet. Wenn Sie Ihre Telefonnummer beim Verkäufer hinterlassen, wird dies als Registrierungsrückruffunktion bezeichnet Der Verkäufer ruft Sie an, dies wird als Rückruffunktion bezeichnet. Wenn Sie in den Laden gehen, um die Ware abzuholen, wird dies als Reaktion auf das Rückrufereignis bezeichnet. Beantwortung beendet.
In Javascript:
Funktion A wird als Parameter (Funktionsreferenz) an eine andere Funktion B übergeben, und diese Funktion B führt Funktion A aus. Nehmen wir einfach an, Funktion A wird als Callback-Funktion bezeichnet. Wenn kein Name (Funktionsausdruck) vorhanden ist, wird sie als anonyme Rückruffunktion bezeichnet.
Tatsächlich wird die Funktion als Parameter übergeben.
Javscript-Rückruf
Werfen Sie alle komplizierten Erklärungen oben in den Mülleimer~ und sehen Sie, was Callback ist
Was ist Rückruf?
In jQuery sieht die Methode hide so aus
$(selector).hide(speed,callback)
Bei Verwendung
$('#element').hide(1000, function() {
// Rückruffunktion
});
Wir müssen nur eine einfache Funktion darin schreiben
$('#element').hide(1000, function() {
console.log('Hide');
});
Dazu gibt es einen kleinen Hinweis: Die Callback-Funktion wird ausgeführt, nachdem die aktuelle Animation zu 100 % abgeschlossen ist. Dann können wir das eigentliche Phänomen sehen. Wenn das Element mit der ID des Elements ausgeblendet ist, wird Hide in der Konsole ausgegeben.
bedeutet auch:
Rückruf bedeutet eigentlich, dass nach Ausführung einer Funktion die aktuell ausgeführte Funktion die sogenannte Rückruffunktion ist.
Rückruffunktion
Normalerweise werden Funktionen nacheinander ausgeführt, aber Javascript ist eine ereignisgesteuerte Sprache.
Funktion hello(){
console.log('hello');
}
Funktionswelt(){
console.log('world');
}
Hallo();
world();
Daher werden sie unter normalen Umständen der Reihe nach ausgeführt, aber wenn die Zeit für die Ausführung des Weltereignisses relativ lang ist.
Funktion hello(){
setTimeout( function(){
console.log( 'hello' );
}, 1000 );
}
Funktionswelt(){
console.log('world');
}
Hallo();
world();
Dann ist dies zu diesem Zeitpunkt nicht der Fall. Zu diesem Zeitpunkt wird „world“ und dann „hello“ ausgegeben, sodass wir einen Rückruf benötigen.
Callback-Instanz
Ein einfaches Beispiel ist wie folgt
Funktion add_callback(p1, p2 ,callback) {
var meine_nummer = p1 p2;
Rückruf(meine_Nummer);
}
add_callback(5, 15, function(num){
console.log("call " num);
});
Im Beispiel haben wir eine add_callback-Funktion, die drei Parameter empfängt: Die ersten beiden sind die beiden hinzuzufügenden Parameter und der dritte Parameter ist die Callback-Funktion. Bei Ausführung der Funktion wird das Additionsergebnis zurückgegeben und „call 20“ auf der Konsole ausgegeben.