我需要帮助理解RxJx订阅语法



这就是我现在正在做的,我想知道是否有更好的方法

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()
})

最新更新