我在我的angular
應用程序中使用rxjs
。當多個REST
調用進行時,我並不總是按照我想要的順序返回數據。爲什麼rxjs不取消我的承諾?
控制器:
constructor() {
rx.Observable.fromPromise(this.getExpenses(toDate, fromDate))).subscribe(res => {
that.setExpenses(res);
});
}
getExpenses(toDate, fromDate) {
return this.expenseService.getExpenses(fromDate, toDate);
}
updateDate() {
rx.Observable.fromPromise(this.getExpenses(toDate, fromDate))).subscribe(res => {
that.setExpenses(res);
});
}
服務:
getExpenses: function(fromDate, toDateloadExtendedData) {
return Restangular.all('expenses').getList({fromDate: fromDate, toDate: toDate});
},
在我constructor
,我想獲得本年度的結果,但有時用戶將更新調用之前的日期constructor
返回。然後我有一個競爭條件,因爲用戶想要updateDate
信息,而不是constructor
信息。我如何找回最近請求的數據?
你能提供更多的背景嗎?您所展示的只是一個單一的承諾解決方案,您如何使用此代碼?多重承諾在哪裏產生? – paulpdaniels