【发布时间】:2018-09-15 22:32:48
【问题描述】:
在以下代码中:-
RxJS.Observable.of(1,2).first().subscribe((x) => console.log(x););
给定运营商first(),是否需要取消订阅?
【问题讨论】:
在以下代码中:-
RxJS.Observable.of(1,2).first().subscribe((x) => console.log(x););
给定运营商first(),是否需要取消订阅?
【问题讨论】:
first() 将在 observable 发出第一项后完成。
另外subscribe() 接受三个参数,最后一个是完整的回调。运行以下代码将输出 1 后跟 'done'。
Rx.Observable.of(1)
.subscribe(
(x) => console.log(x), // next
(x) => console.error(x), // error
() => console.log('done') // done
)
【讨论】:
对于提供的示例,您不需要unsubscribe,也不需要调用first,因为Observable.of(1) 在发出其第一个(也是最后一个)值后实际上完成。
【讨论】:
没有。拨打first()后自动退订。 RxJS 6 的当前语法是 observable.pipe(first()).subscribe(func);。
documentation 声明:
如果不带参数调用,
first会发出源 Observable 的第一个值,然后完成。
【讨论】:
) :)