Callback-Inversion in AngularJS: Ein Anti-Pattern
In AngularJS ist es üblich, Callback-Funktionen an Dienste zu übergeben, die Promises zurückgeben. Dieser Ansatz kann jedoch ein Anti-Pattern einführen und die Vorteile von Promises beeinträchtigen.
Anti-Pattern-Beispiel:
Betrachten Sie den folgenden Code, den der getTokens-Dienst akzeptiert eine Rückruffunktion:
... getTokens: function(callbackFn) { $http.get('/api/tokens').then (function onFulfilled(response) { callbackFn(response.data); }); } ...
Dieser Ansatz hat mehrere Nachteile:
Refactoring für Best Practice:
Um dieses Anti-Pattern aufzulösen, refaktorieren Sie den Code als folgt:
... getTokens: function() { return $http.get('/api/tokens'); } ...
Verwenden Sie im aufrufenden Modul das zurückgegebene Promise, um das Ergebnis zu verarbeiten:
yourModule.getTokens() .then(function(response) { // handle it });
Vorteile von Best Practice:
Die Übernahme dieser Best Practice bietet mehrere Vorteile:
Das obige ist der detaillierte Inhalt vonSollten Sie Rückrufe mit AngularJS-Versprechen verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!