7
我是從這樣的函數返回一個承諾:等到承諾和嵌套thens完成
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;
比方說,上面的函數被調用保存。
在調用函數中,我想等待整個鏈完成,然後執行一些操作。我的代碼有看起來像這樣:
var savePromise = self.save();
savePromise.then(function() {
console.log('aftersave');
});
結果是「aftersave」是發送到控制檯,而承諾的鏈條仍在運行。
整個鏈條完成後,我該怎麼做?
如果那裏有條件,該怎麼辦?你不需要延期物品嗎? – FlavorScape
這不是問題的答案。問題是如何等待鏈條結束。簡單地將更多元素添加到鏈中並不是一種解決方案,並且通常無法正常工作。 – MeanEYE
@MeanEYE您等待 t鏈上的結束通過在鏈上執行'then'來完成。這解決了這個問題(儘管正如你所指出的那樣,它並不回答字面問題,但問題實際上是關於一個問題)。 –