Maison >interface Web >js tutoriel >Comment puis-je accéder aux résultats de promesses intermédiaires dans une chaîne de promesses JavaScript ?

Comment puis-je accéder aux résultats de promesses intermédiaires dans une chaîne de promesses JavaScript ?

DDD
DDDoriginal
2025-01-02 13:23:40547parcourir

How Can I Access Intermediate Promise Results in a JavaScript Promise Chain?

Accès aux résultats de promesse intermédiaires dans une chaîne de promesses

Dans une chaîne de promesse, chaque rappel reçoit le résultat de la promesse précédente. Cependant, accéder aux résultats intermédiaires au sein de la chaîne peut s'avérer difficile.

Briser la chaîne

Pour accéder aux résultats intermédiaires, envisagez de diviser la chaîne en segments plus petits. Au lieu d'associer des rappels à une seule promesse, attachez plusieurs rappels à la même promesse. Cela permet d'accéder aux valeurs des résultats chaque fois que nécessaire.

Promise Combinators

Les bibliothèques de promesses fournissent des combinateurs tels que Promise.all(), qui combine plusieurs promesses en un promesse unique qui se résout avec un tableau contenant les résultats de chacun promesse.

Exemple

Supposons que vous ayez les promesses A et B et que vous souhaitiez accéder au résultat de la promesse A dans le rappel de la promesse B :

function getExample() {
    var a = promiseA(…);
    var b = a.then(function(resultA) {
        // some processing
        return promiseB(…);
    });
    return Promise.all([a, b]).then(function([resultA, resultB]) {
        // more processing
        return // something using both resultA and resultB
    });
}

Dans ES6, vous pouvez utiliser la déstructuration de tableau pour accéder aux résultats dans le rappel final. Dans ES5, vous pouvez utiliser la méthode d'assistance .spread() ou Promise.join() pour une syntaxe plus propre.

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