在以下代码中:-
RxJS.Observable.of(1,2).first().subscribe((x) => console.log(x););
给定运算符first()
是否有必要取消订阅?
不可以。它在调用first()
后自动取消订阅。当前的语法是可观察的。管道(first())。订阅(func);RxJS 6的
。
留档指出:
如果不带参数调用,first
发出源可观察对象的第一个值,然后完成。
对于提供的示例,您不需要取消订阅
,也不需要首先调用,因为
可观察. of(1)
实际上是在发出其第一个(也是最后一个)值后完成的。
first()
将在从可观察对象发出第一项后完成。
此外订阅()
有三个参数,最后一个是完整的回调。运行以下代码将输出1,后跟“done”。
Rx.Observable.of(1)
.subscribe(
(x) => console.log(x), // next
(x) => console.error(x), // error
() => console.log('done') // done
)