代码之家  ›  专栏  ›  技术社区  ›  Jscti

相当于承诺。尝试观察对象?

  •  2
  • Jscti  · 技术社区  · 7 年前

    我如何用一个可能引发异常并通过可观察捕获机制处理该异常的函数启动一个可观察链?

    例子:

    createObservable(withFunctionThatThrowAnException())
                .catch( err => {})
                .subscribe(data => {})
    

    如果 withFunctionThatThrowAnException 根据需要抛出一个异常,可观察链,它只是一个未捕获的异常,可观察的。抓不到它。

    有了蓝鸟和承诺,我会:

    Promise.try(() => createObservable(withFunctionThatThrowAnException()))
                .then(data => {})
                .catch(err => {})
    

    是否存在与可观测值等效的值?

    1 回复  |  直到 7 年前
        1
  •  3
  •   Ingo Bürk    7 年前

    直接等价物为 defer ,我想:

    Observable.defer(() => createObservable(withFunctionThatThrowAnException()))
     .subscribe(console.log);