我需要了解RxJx订阅语法的帮助

wol*_*sse 3 rxjs typescript rxjs5

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

this.dataService.subscribe(
    data => this.data = data,
    error => alert('Something went wrong'),
    () => this.doSomethingOnCompletion());
Run Code Online (Sandbox Code Playgroud)

但是,如果我没有捕获数据,则可以更改以下三个功能中的第一个:

() => null,
Run Code Online (Sandbox Code Playgroud)

rxjs 4.x文档对我来说回答得还不够好。版本5.x解释得更少。

那么,判决是什么?当我只需要触发某些事情时,以下错误吗?

this.dataService.subscribe(
    () => null,
    error => alert('Boom.'),
    () => this.doSomethingOnCompletion());
Run Code Online (Sandbox Code Playgroud)

如果我不需要在完成时做点什么,我就把那部分忽略掉。如果我只想检查错误而不做其他事情怎么办?

pau*_*els 5

如果只需要RxJS 4,则errors可以使用subscribeOnError仅处理错误的方法。

您也可以使用subscription方法,但是您只需要为不需要的处理程序传递一个null值,则不必传递自己的noop。

this.dataService.subscribe(
    null,
    error => alert('Something went wrong'));
Run Code Online (Sandbox Code Playgroud)

RxJS 5可以通过所谓的PartialObserver

this.dataService.subscribe({
  error: error => alert('Boom.'), 
  complete: () => this.doSomethingOnCompletion()
})
Run Code Online (Sandbox Code Playgroud)