这就是我现在正在做的事情,我想知道是否有更好的方法
this.dataService.subscribe(
data => this.data = data,
error => alert('Something went wrong'),
() => this.doSomethingOnCompletion());
但是,如果我没有捕获数据,我可能只是改变三个函数中的第一个:
() => null,
documentation for rxjs 4.x对我来说不能很好地回答这个问题。 Version 5.x解释得更少。
那么,判决是什么?当我只需触发某些事情时,是否会出现以下错误?
this.dataService.subscribe(
() => null,
error => alert('Boom.'),
() => this.doSomethingOnCompletion());
如果我在完成时不需要做某事,我就把这部分留下来。如果我只想检查错误而没有别的怎么办?
答案 0 :(得分:4)
RxJS 4如果您只需要errors
,那么您可以使用仅处理错误的subscribeOnError
方法。
你也可以使用subscribe方法,但你只需要为你不想要的处理程序传递一个空值,你就不必通过你自己的noop。
this.dataService.subscribe(
null,
error => alert('Something went wrong'));
RxJS 5你可以传递一个所谓的PartialObserver
:
this.dataService.subscribe({
error: error => alert('Boom.'),
complete: () => this.doSomethingOnCompletion()
})