Attendre jusqu'à ce que la promesse et imbriquées arrêtera sont complètes
Je suis de retour d'une promesse d'une fonction comme ceci:
resultPromise = dgps.utils.save(opportunity, '/api/Opportunity/Save', opportunity.dirtyFlag).then(function () {
self.checklist.saveChecklist(opportunity).then(function () {
self.competitor.save(opportunity.selectedCompetitor()).then(function ... etc.
return resultPromise;
Disons que la fonction ci-dessus est appelée save.
Dans l'appel de la fonction que je veux faire attendre pour l'ensemble de la chaîne de compléter et de faire quelque chose. Mon code ressemble à ceci:
var savePromise = self.save();
savePromise.then(function() {
console.log('aftersave');
});
Le résultat est que "aftersave' est de l'envoyer à la console, tandis que la chaîne de promesses est toujours en cours d'exécution.
Comment puis-je faire quelque chose après l'ensemble de la chaîne est complète?
OriginalL'auteur RolandG | 2013-01-05
Vous devez vous connecter pour publier un commentaire.
Au lieu de nidification, les promesses, la chaîne d'eux.
Ce n'est pas la réponse à la question posée. La question était de savoir comment attendre de la chaîne à la fin. Simplement en ajoutant plus d'éléments de la chaîne n'est pas une solution et souvent ne fonctionnent pas correctement.
Vous attendez t pour la chaîne à la fin en faisant un
then
sur la chaîne. Cela résout le problème (même si, comme vous l'avez noté, il ne répond pas à la question littérale, mais la question était vraiment un problème).OriginalL'auteur Raymond Chen