Maison >interface Web >js tutoriel >Devriez-vous utiliser les rappels avec les promesses d'AngularJS ?
Inversion de rappel dans AngularJS : un anti-modèle
Dans AngularJS, il est courant de transmettre des fonctions de rappel aux services qui renvoient des promesses. Cependant, cette approche peut introduire un anti-modèle et entraver les avantages des promesses.
Exemple d'anti-modèle :
Considérez le code suivant, où le service getTokens accepte une fonction de rappel :
... getTokens: function(callbackFn) { $http.get('/api/tokens').then (function onFulfilled(response) { callbackFn(response.data); }); } ...
Cette approche présente plusieurs inconvénients :
Refactoring pour les meilleures pratiques :
Pour résoudre cet anti-modèle, refactorisez le code comme suit :
... getTokens: function() { return $http.get('/api/tokens'); } ...
Dans le module appelant, utilisez la promesse renvoyée pour gérer le résultat :
yourModule.getTokens() .then(function(response) { // handle it });
Avantages des meilleures pratiques :
L'adoption de cette bonne pratique offre plusieurs avantages :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!