代码之家  ›  专栏  ›  技术社区  ›  Fan Cheung

在Rx中发现退订错误的建议模式是什么

  •  0
  • Fan Cheung  · 技术社区  · 6 年前

    来看看一个用例,我可能在取消订阅时抛出了一些错误,而catch操作符无法捕获它。除了在退订处理程序中添加一个try-catch之外,还有其他好方法吗?如果它的尝试被捕获,它是否仍然完成并杀死了流?

    const streawm = Rx.Observable.create(function(observer) {
      return () => { throw "error"; };
    });
    
    const subscribe = streawm.catch(e=>Rx.Observable.of(e))
      .subscribe(val => console.log(val),
      e=>{} ,
      e=>{console.log("finally");});
    
    setTimeout(() => {
      subscribe.unsubscribe();
    }, 5000);
    
    0 回复  |  直到 6 年前