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

问题描述 投票:0回答:1

如何获取异步操作的最后结果到我的订阅功能并取消之前的事件?

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

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

rxjs
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.