如何将同步函数调用转换为可观察的?

时间:2018-11-05 21:00:05

标签: javascript typescript rxjs reactive-programming

RxJS 6 库中是否存在标准方法或创建器,可以将函数调用转换为类似这样的可观察对象?

const liftFun = fun => {
    try {
        return of(fun())
    } catch (err) {
        return throwError(err)
    }
}

1 个答案:

答案 0 :(得分:0)

可以观察

 const liftFun=fun=>new Observable(obs=>{
        try {
            return obs.next(fun)
        } catch (err) {
            return obs.error(err)
        }
    })

或者您要转换为要在pipe链中使用的运算符

const liftFun = fun => mergeMap(fun=>({
    try {
        return of(fun())
    } catch (err) {
        return throwError(err)
    }
})