rxjs中的哪个运算符可以获取Observable中的最后一个调用?

时间:2019-04-29 09:24:28

标签: rxjs

如何获取异步操作的最后结果到我的订阅函数并取消先前的事件?

我有一个调用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) 

我以前的所有事件都被忽略,但不是这个事件。

0 个答案:

没有答案