鉴于您订阅的观察点:
Observable.subscribe(
(res) => {},
(err) => {},
() => {
// do some thing on complete
}
);
是否需要写(res)和(错误)?
原因是,我使用Observable.forkJoin([Observable1, Observable2]).subscribe
,我只关心他们何时完成,也许他们会产生错误。
答案 0 :(得分:2)
要省略下一个和错误函数,请为这些参数传递undefined
:
Rx.Observable
.from([0, 1, 2])
.subscribe(
undefined,
undefined,
() => console.log("completed")
);
答案 1 :(得分:1)
我会选择使用.finally()
运算符,而不是省略res
和err
回调。这样可以更好地传达你想要发生的事情。
Rx.Observable.forkJoin([obs1, obs2])
.finally(() => console.log('done'))
.subscribe();
请注意,不需要将回调传递给subscribe()
。
答案 2 :(得分:1)
如果我们至少谈论RxJS5,您还可以定义所需的特定订阅者方法。
Observable.subscribe(
(res) => {},
(err) => {},
() => {
// do some thing on complete
}
);
变为
Observable.subscribe(
complete: () => {
// do some thing on complete
}
);
作为旁注,可以明确定义的其他方法是下一步和错误。