Ich bin neu in Ajax- und Rückruffunktionen. Bitte verzeihen Sie mir, wenn ich die Konzepte falsch verstehe.
Problem: Kann ich eine Rückruffunktion als Parameter an eine andere Funktion senden , die den Rückruf ausführt?
function firstFunction(){
//some code
//a callback function is written for $.post() to execute
secondFunction("var1","var2",callbackfunction);
}
function secondFunction(var1, var2, callbackfunction) {
params={}
if (event != null) params = event + '&' + $(form).serialize();
// $.post() will execute the callback function
$.post(form.action,params, callbackfunction);
}
javascript
ajax
callback
call
Kleiner Kiat
quelle
quelle
Antworten:
Jep. Funktionsreferenzen sind wie jede andere Objektreferenz, Sie können sie nach Herzenslust weitergeben.
Hier ist ein konkreteres Beispiel:
Sie können auch Argumente für Folgendes übergeben
foo
:quelle
Könnte auch einfach sein als:
quelle
Wenn Sie für googeln, erhalten
javascript callback function example
Sie ein besseres Verständnis der Rückruffunktionen in JavaScriptSo führen Sie eine Rückruffunktion aus:
quelle
Ja, natürlich sind Funktionen Objekte und können übergeben werden, aber natürlich müssen Sie sie deklarieren:
Interessant ist, dass Ihre Rückruffunktion auch Zugriff auf alle Variablen hat, die Sie möglicherweise in firstFunction () deklariert haben (Variablen in Javascript haben einen lokalen Gültigkeitsbereich).
quelle
Beispiel für
CoffeeScript
:quelle
->
bedeutet in Javascript? @ nichts-spezielles-hier->
ist nur eine normale Funktion.var test = function(str, callback) { ajax call }
Sie können JavaScript CallBak folgendermaßen verwenden:
Oder Java Script Promise:
quelle