我现在就是这样做的,不知道有没有更好的办法
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());
如果我不需要在完成时做某事,我会忽略那部分。如果我只想检查错误而不检查其他内容怎么办?
最佳答案
RxJS 4 如果你只需要 errors
那么你可以使用只处理错误的 subscribeOnError
方法。
你也可以使用 subscribe 方法,但你只需要为你不想要的处理程序传递一个 null 值,你不必传递你自己的 noop。
this.dataService.subscribe(
null,
error => alert('Something went wrong'));
RxJS 5 你可以传递一个所谓的PartialObserver
:
this.dataService.subscribe({
error: error => alert('Boom.'),
complete: () => this.doSomethingOnCompletion()
})
关于typescript - 我需要帮助理解 RxJx 订阅语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38835934/