如何获取异步操作的最后结果到我的订阅函数并取消先前的事件?
我有一个调用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)
我以前的所有事件都被忽略,但不是这个事件。