Maison > interface Web > js tutoriel > le corps du texte

Que signifie la promesse ?

(*-*)浩
Libérer: 2019-06-18 11:08:07
original
22176 Les gens l'ont consulté

JS est monothread et la solution Promise est une idée de programmation asynchrone, qui est beaucoup plus puissante que les fonctions et événements de rappel traditionnels. La promesse équivaut à un espace réservé pour le résultat d'une opération asynchrone. Elle ne s'abonne pas à un événement et ne transmet pas non plus de fonction de rappel à la fonction cible. Au lieu de cela, la fonction renvoie une promesse (équivalent à un numéro de commande).

Que signifie la promesse ?

Promise : Anglais promise signifiant, l'objet Promise stocke le résultat d'un événement (généralement une opération asynchrone) qui se terminera dans le futur.

Promise a trois états : (Apprentissage recommandé : Tutoriel vidéo Javascript)

pendding,rejected,resolved
Copier après la connexion

Il n'y a que deux possibilités pour changer l'état de l'objet Promise :

pendding->rejected,pendding->resolved
Copier après la connexion

Utilisation de base :

new Promise((resolved,rejected)=>{})
Copier après la connexion

Promise objet résolu et fonctions rejetées Lorsque le rappel de l'état d'événement asynchrone en attente->résolu est réussi, la fonction résolue sera appelée lorsque l'opération asynchrone échoue, le la fonction rejetée sera appelée.

Le paramètre de fonction then (résolu, rejeté) de Promise a deux paramètres, une fonction résolue et une fonction rejetée.

Promise's catch() : capture la fonction d'erreur de promesse, qui a la même fonction que celle rejetée dans le paramètre de la fonction then. Elle gère les erreurs étant donné que l'erreur générée par Promise a une nature bouillonnante, elle peut être transmise en continu et. sera transmis à catch, il est donc recommandé que toutes les gestions d'erreurs soient placées dans catch, et seules les erreurs réussies seront alors traitées.

Une grande fonctionnalité de Promise est qu'il peut être appelé dans une chaîne, et les objets Promise peuvent ensuite être renvoyés et capturés.

Promise.all([promise1,promise2]) : Le paramètre est un tableau d'objets de promesse. Lorsque l'état de tous les objets de promesse est résolu, l'état de l'objet sera résolu, puis sera appelé. immédiatement. Lorsqu'un objet de promesse est rejeté, le statut de l'objet sera rejeté et le catch sera exécuté.

Promise.race([promise1,promise2]) : fonction de course Lorsque l'état d'un objet promis change, l'objet adoptera le même état et exécutera la fonction correspondante.

Cycle de vie de la promesse

Chaque promesse passera par un court cycle de vie, initialement dans un état en attente, ce qui signifie que l'opération asynchrone n'est pas encore terminée. Une promesse en attente est également considérée comme non réglée. Une fois l'opération asynchrone terminée, la Promesse est considérée comme réglée et entre dans l'un des deux états possibles :

1. Réalisée : L'opération asynchrone de la Promesse a réussi Fin ; Rejeté : l'opération asynchrone de Promise ne s'est pas terminée correctement, ce qui peut être une erreur ou être causée par d'autres raisons.

Une fois l'état changé, il est "solidifié" et restera dans cet état et ne changera plus. Lorsque l'état change, la fonction liée par promise.then sera appelée. Remarque : Une fois qu'une promesse est créée, elle sera « exécutée immédiatement » et ne pourra pas être annulée. C'est aussi l'un de ses défauts.

Pour des articles plus techniques liés à Javascript, veuillez visiter la colonne

tutoriel js

pour apprendre !

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal