Utilisez Promise.all([p1, p2]) pour exécuter deux fonctions de promesse. Les deux fonctions utilisent mangouste en interne pour faire fonctionner la base de données.
Si p1 est rejeté et p2 est résolu.
Ma question est la suivante : p2 a réellement effectué des opérations sur la base de données. Est-ce vrai ? Ou promise.all garantit-il que p1 et p2 sont résolus avant d'effectuer des opérations de base de données réelles ?
On dirait qu’il s’agit d’un problème transactionnel de mangouste.
Promise.all se résout lorsque tous les itérables donnés sont terminés, ou est rejeté lorsqu'une promesse échoue.
Si des promesses rejetées sont adoptées, toutes les valeurs de promesse échouent immédiatement, rejetant toutes les autres promesses si elles ne sont pas résolues. Si un tableau vide est transmis, cette méthode se terminera immédiatement.
1) Chaque promesse en promesse sera exécutée
2) A ce moment, le statut de p devient rejeté
Pour votre situation, il m'est arrivé d'écrire un package, https://github.com/zaaack/mon... Il devrait pouvoir répondre à vos besoins