2009-07-22 6 views
1

Ich möchte Methode ausführen: bar(), wenn die Methode foo() fertig ist.Rückruf nach Abschluss der Methode

function foo() { 
    //.... 
    bar(); 
} 

Aber es ist sicherlich eine Möglichkeit() wie ein Rückruf auszuführen bar zu foo():

Dies könnte wie dies geschehen? Ich habe in Prototyp-API suchen, aber bisher habe ich fand nur Möglichkeiten, Rückrufe zu HTML-Elemente zu binden ...

Antwort

9
function foo(callback) { 
    // ... 
    callback(); 
} 

Und dann rufen Sie foo wie folgt aus:

foo(bar); 
+0

Sie könnten auch wollen Überprüfen Sie den Typ des Rückrufs, um sicherzustellen, dass es sich um eine Funktion handelt. –

+0

Danke, was ist die Syntax, wenn Sie dies innerhalb der mit Class.create() erstellten Klasse tun; – dbd

+0

Oder ein anderer Weg - innerhalb der Funktion foo, Callback = Callback || zuweisen Funktion() {}; Wenn Callback null oder undefiniert ist, wird stattdessen eine leere Funktion zugewiesen und ausgeführt. –