如何获取异步操作的最后结果到我的订阅功能并取消之前的事件?
我有一个调用makeRequest
函数的按钮,它返回Observable
,如下所示:
makeRequest() {
return Observable.create((observer) => {
let uniqueId = this.uniqueId++;
setTimeout(() => {
console.log('[makeRequest] complete request ' + uniqueId);
observer.next({ save: true, id: uniqueId });
observer.complete();
}, 5000);
});
}
在我的订阅功能中,我得到如下结果:
this.makeRequest().subscribe(r => {
console.log({ r });
});
如何从makeRequest
获取最后一个事件,即使我在按钮上多次单击?
- button clicked (uniqId = 0)
- button clicked (uniqId = 1)
- button clicked (uniqId = 2)
- subscribe(r => r // is uniqId = 2)
我之前的所有事件都被忽略了,但不是这个。