Cette fois, je vais vous apporter une explication détaillée de l'objet promis d'Angularjs. Quelles sont les précautions lors de l'utilisation de l'objet promis d'Angularjs. Ce qui suit est un cas pratique, jetons un coup d'œil.
Qu'est-ce que la promesse ? Pour le comprendre, nous devons commencer par le problème auquel nous sommes confrontés. Lors de l'exécution d'une requête asynchrone Ajax, vous devez ajouter une fonction de rappel pour gérer la logique une fois la requête réussie, mais cette méthode se fait au détriment du flux de contrôle, de la Gestion des exceptions, et peut également tomber dans le rappel Dans les fonctions imbriquées, le processus est complexe et le code est volumineux. Dans angulairejs, lorsqu'il s'agit d'un traitement asynchrone, nous pouvons d'abord penser à utiliser des écouteurs $watch pour l'implémenter, mais trop d'écouteurs affecteront les performances et la structure du code sera compliquée.
Afin de résoudre cette situation, le concept d'objet de promesse est introduit dans Angularjs. Pour être précis, il s'agit d'un mode élégant de gestion de la programmation asynchrone, qui peut résoudre efficacement le problème de la fonction de rappel<.> fastidieux et gérer les processus métier de manière synchrone. Dans le même temps, l'écriture en chaîne est autorisée dans les rappels. Ensuite, nous expliquons en détail l'utilisation des objets de promesse :
Les concepts de base de la promesseet les méthodes d'utilisation1. commander Pour expliquer le concept de promesse de manière plus vivante et en savoir plus sur ses
attributs et méthodes, nous utilisons ici un exemple pour le décrire. Par exemple : un client nommé A a demandé à une entreprise nommée B de développer une page WEB, et l'entreprise B a promis de la terminer en trois jours. Cette mise en œuvre est un objet de promesse, qui est essentiellement initiée par le client A. Affaires différées, dans Angular, nous pouvons le comprendre comme le processus de création d'un objet différé en appelant la méthode defer sur l'objet $q.
2. Dans les trois prochains jours, le client peut communiquer avec l'entreprise sur l'avancement du développement. Cela peut être compris comme l'appel de la méthode notify message indique que le statut de cette affaire différée est « inachevé ou en cours » si au bout de trois jours, l'entreprise B livre normalement la page développée par le client A, cela peut être compris comme appelant le < eye. Le processus de méthode strong>resolve indique que le statut de cette affaire différée est « terminé » et si l'entreprise B constate qu'elle ne peut pas être mise en œuvre pendant le processus de production, le client A ne peut pas livrer, ce qui peut être compris ; comme appelant l'objet différé. Le processus de la méthode reject indique que le statut de cette affaire différée est « impossible à terminer ».
3. Lorsque l'entreprise B reçoit une demande du client A, elle découvre qu'un projet qu'elle a réalisé auparavant est tout à fait conforme à ses besoins actuels, et décide de confier le projet initialement réalisé directement à l'entreprise B. Le client sera également très satisfait. Dans ce cas, aucune activité différée n'est générée, cela peut donc être compris comme le processus d'appel de la méthode when via l'objet $q. 4. À travers cet exemple, nous pouvons voir dans le groupe que ni le client A ni l'entreprise B n'ont beaucoup de temps ensemble, et le processus est très courant. De plus, à partir de l'exemple, nous comprenons parfaitement le processus de création de l'objet promis. Ainsi que les fonctions représentées par les méthodes defer(), notify(), rejet() et when().
Maintenant, nous allons présenter le processus de création d'un objet de promesse. Si vous souhaitez créer un objet de promesse dans Angular, vous devez d'abord injecter le service $q dans le modèle, et d'abord appeler la méthode defer pour créer un objet différé. Le code est le suivant :
. Je pense que vous l'avez maîtrisé après avoir lu le cas dans cet article. Pour des méthodes plus intéressantes, veuillez prêter attention aux autres articles connexes sur le site Web chinois de php ! Lecture connexe :angular.module("a",[]) .controller("c",["$scope","$q",function($scope,$q){ var defer=$q.defer(); }])
Que dois-je faire si le texte de l'application ionique ne peut pas être appuyé longuement pour copier ou coller
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!