c++ - promise.all mangouste exploite la base de données
曾经蜡笔没有小新
曾经蜡笔没有小新 2017-06-15 09:22:14
0
2
893

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.

曾经蜡笔没有小新
曾经蜡笔没有小新

répondre à tous(2)
为情所困

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.

var p0 = new Promise((resolve, reject) => {
      setTimeout(() => {
          console.log(1)
      }, 100);
}); 
var p1 = Promise.resolve(3);
var p2 = 1337;
var p3 = new Promise((resolve, reject) => {
  setTimeout(reject, 100, "foo");
}); 
var p4 = new Promise((resolve, reject) => {
      setTimeout(() => {
          console.log(2)
      }, 100);
});
var p = Promise.all([p0, p1, p2, p3, p4]).then(values => { 
  console.log(values);
}, values => {
    console.log(values) // foo
}); // 1 2

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

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal