7
Wracam obietnicę z funkcji takich jak to:Poczekaj aż obietnicy i zagnieżdżone thens są kompletne
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;
Powiedzmy, że powyższa funkcja nazywa Zapisz.
W funkcji wywołującej chcę poczekać na zakończenie całego łańcucha, a następnie zrobić coś. Mój kod nie wygląda następująco:
var savePromise = self.save();
savePromise.then(function() {
console.log('aftersave');
});
Rezultatem jest to, że „aftersave” jest wysyłany do konsoli, podczas gdy łańcuch obietnic jest nadal uruchomiony.
Jak mogę zrobić coś po zakończeniu całego łańcucha?
co, jeśli jest tam warunkowe? Czy nie potrzebujesz odroczonego obiektu? – FlavorScape
To nie jest odpowiedź na zadane pytanie. Pytanie brzmiało, jak czekać na zakończenie łańcucha. Po prostu dodawanie kolejnych elementów do łańcucha nie jest rozwiązaniem i często nie działa poprawnie. – MeanEYE
@MeanEYE Poczekaj na zakończenie łańcucha od , wykonując 'then' na łańcuchu. To rozwiązuje problem (choć jak zauważyłeś, nie odpowiada na dosłowne pytanie, ale pytanie dotyczyło naprawdę problemu). –