first()运算符会自动取消订阅吗?

问题描述 投票:3回答:2

我想取消订阅observable,我是否应该使用first()运算符取消订阅?

以下示例,

Rx.Observable.interval(100)
.do(x => console.log(x))
.first()
.subscribe(x => x);

以上代码是否会自动取消订阅或需要做什么?

ngrx angular-redux
2个回答
2
投票

first()运算符采用可选的谓词函数,并在源完成时没有值匹配时发出错误通知。

在首先发出任何事件之后,它将取消订阅。所以要回答你的问题,你不需要做任何事情。它将取消订阅。

Angular 2 using RxJS - take(1) vs first()


0
投票

您提供的示例在提交第一个值后自动取消订阅。请使用以下示例

Rx.Observable.interval(100)
.first()
.subscribe(
  x => { 
   console.log(x)
 }, err => {
   console.log("error")
 }, () => {
   console.log("Completed");
});

通常,first()运算符用于获取序列的第一个值。当我们想要取消订阅时,我不确定我们是否可以在任何地方使用它。

© www.soinside.com 2019 - 2024. All rights reserved.