这就是我现在正在做的,我想知道是否有更好的方法
this.dataService.subscribe(
data => this.data = data,
error => alert('Something went wrong'),
() => this.doSomethingOnCompletion());
如果我没有捕获数据,但是,我可能只更改三个函数中的第一个:
() => null,
rxjs 4的文档。X不能很好地回答这个问题。版本5。
那么,结论是什么?当我只需要触发一些事情发生时,以下是错误的吗?
this.dataService.subscribe(
() => null,
error => alert('Boom.'),
() => this.doSomethingOnCompletion());
如果我不需要在完成时做某件事,我会把那部分省略。如果我只想检查错误而不想检查其他的呢?
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()
})