Maison interface Web js tutoriel Introduction détaillée à Promise dans es6

Introduction détaillée à Promise dans es6

Jun 26, 2017 pm 03:23 PM
promise

Promise

  1. Promise est un objet à partir duquel des messages pour des opérations asynchrones peuvent être obtenus

  2. Caractéristiques : L'état de l'objet est ; non affecté par l'impact du monde extérieur (En attente en cours, Résolu terminé, Échec rejeté), seul le résultat de l'opération asynchrone peut déterminer l'état actuel une fois que l'état change, il ne changera plus (uniquement de En attente à Résolu et En attente à Résolu ; Rejeté);

  3. Inconvénients : Une fois créé, il sera exécuté immédiatement et ne pourra pas être annulé à mi-chemin s'il n'y a pas de fonction de rappel, les erreurs générées en interne ne peuvent pas être reflétées en externe lorsqu'elles sont en attente ; , il est impossible de savoir à quelle étape se trouve la progression actuelle ;

  4. Généralement, ne définissez pas la fonction de rappel de l'état Reject dans la méthode then (c'est-à-dire le deuxième paramètre de then) , mais utilisez la méthode catch ; car cela peut capturer les erreurs dans le then précédent, et la méthode Plus proche de l'écriture synchrone (try/catch)

  5. catch renvoie une promesse. objet, vous pouvez donc également appeler la méthode then plus tard ; dans la méthode catch, cela peut également générer une erreur

  6. La méthode Promise.all est utilisée pour empaqueter plusieurs instances Promise dans une nouvelle Instance Promise ; les paramètres de la méthode Promise.all ne peuvent pas être des tableaux, mais doivent avoir une interface Iterator, et chaque membre renvoyé est une instance Promise uniquement lorsque les états p1, p2, p3 sont remplis, l'état p deviendra ; rempli ; tant qu'il y en a une rejetée, p deviendra rejeté

  7. Promise.race encapsule également plusieurs instances de Promise dans une nouvelle Promise tant que l'état d'un objet change ; l'état de p changera en conséquence, et la valeur du premier objet modifié sera renvoyée et transmise à la fonction de rappel de p

  8. Promise.resolve convertit l'objet en objet Promise, et le statut est résolu

    // 将thenable对象转为Promise对象var thenable = {
        then(resolve, reject) {
            resolve(200)
        }
    }var p = Promise.resolve(thenable)
    
    p.then((data) => {
      console.log(data)
    })  // 200
    Copier après la connexion
  9. Promise .reject renvoie un objet Promise, et le statut de l'instance est rejeté ; restent inchangés comme motif de rejet et deviennent les paramètres des méthodes ultérieures.

  10. Deux méthodes supplémentaires

    // donePromise.prototype.done = function(onFulfilled, onRejected) {this.then(onFulfilled, onRejected)
            .catch(function(reason) {
                setTimeout(() => {throw reason}, 0)   
            });
    };// finallyPromise.prototype.finally = function (callback) {
        let P = this.constructor;return this.then(
            value  => P.resolve(callback()).then(() => value),
            reason => P.resolve(callback()).then(() => { throw reason })
        );
    };
    Copier après la connexion

    done sont utilisées pour capturer les erreurs qui peuvent survenir à tout moment et les lancer globalement ;
    finally est utilisé pour les opérations qui seront exécutées quel que soit l'état de l'objet Promise. Il accepte une fonction de rappel commune comme paramètre (doit être exécuté) ;

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 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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Tenir parole : les avantages et les inconvénients de tenir ses promesses Tenir parole : les avantages et les inconvénients de tenir ses promesses Feb 18, 2024 pm 08:06 PM

Dans la vie quotidienne, nous rencontrons souvent des problèmes entre promesses et réalisation. Que ce soit dans une relation personnelle ou dans une transaction commerciale, tenir ses promesses est essentiel pour instaurer la confiance. Cependant, les avantages et les inconvénients de l’engagement sont souvent controversés. Cet article explorera les avantages et les inconvénients des engagements et donnera quelques conseils sur la façon de tenir parole. Les avantages promis sont évidents. Premièrement, l’engagement renforce la confiance. Lorsqu’une personne tient parole, elle fait croire aux autres qu’elle est une personne digne de confiance. La confiance est le lien établi entre les personnes, qui peut les rendre plus

Que dois-je faire si je rencontre une TypeError non capturée (promise) dans une application Vue ? Que dois-je faire si je rencontre une TypeError non capturée (promise) dans une application Vue ? Jun 25, 2023 pm 06:39 PM

Vue est un framework frontal populaire et vous rencontrez souvent diverses erreurs et problèmes lors du développement d'applications. Parmi eux, Uncaught(inpromise)TypeError est un type d’erreur courant. Dans cet article, nous discuterons de ses causes et de ses solutions. Qu'est-ce qu'une erreur de type non interceptée (inpromise) ? L'erreur Uncaught(inpromise)TypeError apparaît généralement dans

En savoir plus sur Promise.resolve() En savoir plus sur Promise.resolve() Feb 18, 2024 pm 07:13 PM

Une explication détaillée de Promise.resolve() nécessite des exemples de code spécifiques. Promise est un mécanisme en JavaScript pour gérer les opérations asynchrones. Dans le développement réel, il est souvent nécessaire de traiter certaines tâches asynchrones qui doivent être exécutées dans l'ordre, et la méthode Promise.resolve() est utilisée pour renvoyer un objet Promise qui a été rempli. Promise.resolve() est une méthode statique de la classe Promise, qui accepte un

Exemple d'analyse du principe et de l'utilisation d'ES6 Promise Exemple d'analyse du principe et de l'utilisation d'ES6 Promise Aug 09, 2022 pm 03:49 PM

Utilisez les objets Promise pour modifier les fonctions ordinaires afin de renvoyer Promise afin de résoudre le problème de l'enfer des rappels. Comprendre la logique d'appel du succès et de l'échec de Promise et pouvoir l'ajuster de manière flexible. Comprenez les connaissances de base, utilisez-les en premier, puis intégrez et absorbez lentement les connaissances.

Quels navigateurs prennent en charge Promise ? Quels navigateurs prennent en charge Promise ? Feb 19, 2024 pm 04:41 PM

Compatibilité des navigateurs : quels navigateurs prennent en charge Promises ? Alors que la complexité des applications Web continue d'augmenter, les développeurs sont impatients de résoudre le problème de la programmation asynchrone en JavaScript. Dans le passé, les développeurs utilisaient souvent des fonctions de rappel pour gérer les opérations asynchrones, mais cela aboutissait à un code complexe et difficile à maintenir. Pour résoudre ce problème, ECMAScript6 a introduit Promise, qui offre un moyen plus intuitif et flexible de gérer les opérations asynchrones. La promesse est une méthode utilisée pour gérer les exceptions

Que sont les objets de promesse ? Que sont les objets de promesse ? Nov 01, 2023 am 10:05 AM

Les états de l'objet promis sont : 1. en attente : état initial, ni état de réussite ni d'échec ; 2. accompli : signifie que l'opération a été terminée avec succès 3. rejeté : signifie que l'opération a échoué ; Une fois qu'un objet Promise est terminé, il passe de l'état en attente à l'état réalisé ou rejeté, et ne peut plus changer. Les objets Promise sont largement utilisés en JavaScript pour gérer les opérations asynchrones telles que les requêtes AJAX et les opérations chronométrées.

Quels sont les avantages des fonctions PHP renvoyant des objets Promise ? Quels sont les avantages des fonctions PHP renvoyant des objets Promise ? Apr 19, 2024 pm 05:03 PM

Avantages : asynchrone et non bloquant, ne bloque pas le thread principal ; améliore la lisibilité et la maintenabilité du code ;

Que signifie la promesse ? Que signifie la promesse ? Nov 02, 2023 pm 05:30 PM

La promesse est un modèle de programmation pour gérer les opérations asynchrones. C'est un objet qui représente l'achèvement ou l'échec final d'une opération asynchrone. Il peut être considéré comme un engagement envers les opérations asynchrones. Il peut mieux gérer et organiser le code asynchrone. plus lisible et maintenable. Les objets de promesse ont trois états : en attente, rempli et rejeté. L'idée principale de Promise est de séparer les opérations asynchrones des fonctions de rappel et d'exprimer les dépendances entre les opérations asynchrones via des appels en chaîne.

See all articles