2 Stimmen

Erstellen einer Rückruffunktion und deren Verdrahtung

Dies ist keine Frage zu Jquery.

Ich möchte eine Rückruffunktion erstellen, damit die Benutzer sie wie folgt verwenden können:

myfunc.init('id',{option1: val, option2: val2}, function() {

//in here users can now call methods of myfunc 

});

Wie kann ich dies in meinem Code tun? OS sobald ich weiß, mein Skript ist bereit, ich möchte in der Lage sein, irgendwie diese anonyme Funktion aufrufen.

Ich hoffe, das macht Sinn. Ich tue es oft nicht.

2voto

Luca Matteis Punkte 28819

Etwa so:

var myfunc.init = function(id, options, func) {
    // call func somewhere at some point
    func();
};

Normalerweise werden Callbacks verwendet, weil man sie zu einem Zeitpunkt aufrufen möchte, der nicht bekannt ist (asynchron)... wie zum Beispiel, wenn eine AJAX-Anfrage abgeschlossen ist:

var myfunc.init = function(id, options, func) {
    myAjaxRequest("url.com", function() { 
        // call the func at this point in time
        func();
    });
};

2voto

Karl Johan Punkte 3832

Sie können es so schreiben:

var myfunc.init(id, options, callbackFunction){

//do whatever you want with id & options

callbackFunction();

}

Dies wird zuerst alles ausführen, was Sie in Ihrer init-Funktion wollen, und dann die Funktion ausführen, die als Callback-Parameter übergeben wird

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X