javascript - example - Attendez jusqu'à la promesse et les thens imbriqués sont complets



javascript promise typescript (1)

Au lieu de nicher les promesses, enchaînez-les.

resultPromise = dgps.utils.save(opportunity, '/api/Opportunity/Save', opportunity.dirtyFlag).then(function () {

                    return self.checklist.saveChecklist(opportunity);
                }).then(function () {

                    return self.competitor.save(opportunity.selectedCompetitor());
                }).then(function () {
                    // etc
                });

// return a promise which completes when the entire chain completes
return resultPromise;

Je retourne une promesse d'une fonction comme celle-ci:

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 s'appelle save.

Dans la fonction d'appel, je veux faire attendre que toute la chaîne soit complète et ensuite faire quelque chose. Mon code ressemble à ceci:

var savePromise = self.save();
savePromise.then(function() {
    console.log('aftersave');
});

Le résultat est que 'aftersave' est envoyé à la console pendant que la chaîne de promesses est toujours en cours d'exécution.

Comment puis-je faire quelque chose après que toute la chaîne soit terminée?





promise