Angular RxJs:在subscribe()中使用try/catch是否正确?

Angular RxJs:在subscribe()中使用try/catch是否正确?,angular,typescript,rxjs,publish-subscribe,Angular,Typescript,Rxjs,Publish Subscribe,假设我们有角2应用程序。某些服务方法通过post()返回数据,其中我们有catch()来捕获可能的错误 在组件中,我们订阅了可观测数据: .subscribe( ()=> { // some code } ) 让我们假设我试图从locaStorage或任何其他关键操作获取一些数据。我可以在这样的方法中添加try/catch语句吗?或者有其他正确的方

假设我们有角2应用程序。某些服务方法通过post()返回数据,其中我们有catch()来捕获可能的错误

在组件中,我们订阅了可观测数据:

  .subscribe(
              ()=> {
                      // some code
                   } 
             )

让我们假设我试图从locaStorage或任何其他关键操作获取一些数据。我可以在这样的方法中添加try/catch语句吗?或者有其他正确的方法吗?

subscribe
确实为您提供了传入下一个
onNext
onError
的选项,但使用
subscribe
处理所有副作用并不是最好的选择。Rx的整个要点是提供操作员(如
catch
retry
等)以反应式方式处理情况,而不是简单地使用subscribe作为调用回调的方式。

如果操作可以从
subscribe
移动到可观察的操作员,这自然会提供错误处理。这真的取决于你到底在那里做什么。