Heim > Artikel > Backend-Entwicklung > Was ist der Unterschied zwischen Rückruffunktionen und gewöhnlichen Funktionen?
Der Unterschied zwischen
gewöhnlicheFunktion und Rückruffunktion:
Aufruf einer gewöhnlichen Funktion: Nachdem das aufrufende Programm einen Aufruf an die ausgegeben hat Bei einer gewöhnlichen Funktion wechselt die Programmausführung sofort zur aufgerufenen Funktion, bis die aufgerufene Funktion die Ausführung abschließt, und kehrt dann zum aufrufenden Programm zurück, um die Ausführung fortzusetzen. Aus Sicht des aufrufenden Programms ist dieser Prozess „Aufrufen -> Warten, bis die aufgerufene Funktion abgeschlossen ist -> Ausführung fortsetzen“
Aufrufen der Rückruffunktion: Das aufrufende Programm gibt einen Aufruf an die Rückruffunktion aus Danach kehrt sie sofort zurück und setzt die Ausführung fort, ohne darauf zu warten, dass die Funktion ihre Ausführung abschließt. Auf diese Weise werden das aufrufende Programm und die aufgerufene Funktion gleichzeitig ausgeführt. Wenn die aufgerufene Funktion die Ausführung abschließt, ruft die aufgerufene Funktion wiederum eine vorab festgelegte Funktion auf, um das aufrufende Programm darüber zu informieren, dass der Funktionsaufruf beendet wurde. Dieser Vorgang wird Callback (Callback) genannt, woher auch der Name der Callback-Funktion stammt.
Gewöhnliche Funktionen und Callback-Funktionen werden von anderen Funktionen aufgerufen. Der Unterschied besteht darin, ob der Aufrufer genau weiß, was er aufruft. Zum Beispiel:
void func1(){}
void func2(). {} >//Hier kann func1 als normale Funktion betrachtet werden
func1();//Hier weiß funcCall1 eindeutig, dass es func1 aufgerufen hat}void funcCaller2(fp funcPtr){
funcPtr( );//Hier weiß funcCall2 nicht, was es aufruft. Es weiß nur, dass es eine Funktion mit leeren Parametern und dem Rückgabetyp void aufruft
}
void funcCaller3(){
// Hier ist funcCaller2 eine gewöhnliche Funktion, func1 ist eine Rückruffunktion
funcCaller2(func1);// Rufen Sie funcCaller2 auf, der Parameter ist func1
//Hier ist funcCaller2 eine gewöhnliche Funktion, func2 ist eine Rückruffunktion
funcCaller2(func2);// Rufen Sie funcCaller2 auf, der Parameter ist func2
}
Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen Rückruffunktionen und gewöhnlichen Funktionen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!