Maison  >  Article  >  interface Web  >  Que signifie la promesse es6 ?

Que signifie la promesse es6 ?

WBOY
WBOYoriginal
2022-05-05 14:37:563592parcourir

Dans es6, promise signifie "promesse". Promise représente le résultat d'une opération asynchrone. Il s'agit d'une nouvelle solution de programmation asynchrone. Elle est représentée comme un objet dans le code et est principalement utilisée pour résoudre le problème de la zone de rappel. est "nouvelle promesse (fonction (résolution, rejet) {..})".

Que signifie la promesse es6 ?

L'environnement d'exploitation de ce tutoriel : système Windows 10, ECMAScript version 6.0, ordinateur Dell G3.

Que signifie promesse en es6 ?

promesse signifie promesse. L'idée principale derrière cela est que la promesse représente le résultat d'une opération asynchrone.

est une nouvelle solution de programmation asynchrone dans es6, qui est représentée comme un objet dans le code.

Promise est une solution fournie par la programmation asynchrone js, qui est principalement utilisée pour résoudre le problème de la région de rappel.

La promesse a trois états, à savoir

  • État initial en attente (en cours)

  • Réalisée (réussie) signifie que l'opération est réussie

  • rejetée (échec) signifie que l'opération a échoué

Remarque : Les trois états de l'objet Promise ne sont pas affectés par le monde extérieur. Seuls les événements stockés dans la promesse qui se termineront dans le futur seront affectés. C'est-à-dire que seul le résultat de l'opération asynchrone peut déterminer l'état actuel, et aucune autre opération ne peut modifier cet état. Une fois l'état Promise modifié, il est irréversible. L'état En attente (en cours) peut être transformé en Accompli. (réussi).

Le statut en attente (en cours) peut être changé en statut rejeté (en échec).

La promesse ne changera de statut que dans ces deux situations. Une fois ces deux changements de statut effectués, le statut sera solidifié et ce résultat sera. toujours être entretenu.

Utilisation de base

Syntaxe :

new Promise( function(resolve, reject) {...} /* executor */  )
Principe :

Lors de la construction d'un objet Promise, vous devez transmettre une fonction d'exécuteur et les principaux processus métier sont exécutés dans la fonction d'exécuteur.

La fonction exécuteur est appelée immédiatement lorsque le constructeur Promise est exécuté. Les fonctions de résolution et de rejet

sont transmises à l'exécuteur en tant que paramètres Lorsque les fonctions de résolution et de rejet

sont appelées, le statut de la promesse est modifié pour être rempli. ou rejeté (échec). Une fois que l'état change, il ne changera plus et ce résultat peut être obtenu à tout moment.

Après avoir appelé la fonction de résolution dans la fonction exécuteur, la fonction de rappel définie par promise.then sera déclenchée ; et après avoir appelé la fonction rejet

, la fonction de rappel définie par promise.catch sera déclenchée ;

Comme le montre la figure ci-dessous :

L'exemple est le suivant :

Que signifie la promesse es6 ?

Créez un nouvel objet Promise


Vous devez transmettre une fonction de rappel. La fonction de rappel a 2 paramètres, représentant la résolution (resolve). ) et rejeter (reject) ), et les deux paramètres sont des fonctions

Si aucun des deux paramètres n'est appelé, l'état en attente par défaut

let promise=new Promise(function(resolve,reject){
});//pending状态

appelle la fonction de résolution, qui représente l'état de la promesse, et la fonction de rejet sera appelée depuis ending= =>fulfilled

let promise=new Promise(function(resolve,reject){
resolve();
});//fulfilled状态

, qui représente Le statut de la promesse changera de ending==>rejected

let promise=new Promise(function(resolve,reject){
reject();
});//rejected 状态

[Recommandations associées :

tutoriel vidéo javascript

,

front-end web

]

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!

Déclaration:
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
Article précédent:Est-ce réglé pour ES6 ?Article suivant:Est-ce réglé pour ES6 ?