Rxjs在单独的管道中处理错误并合并

时间:2017-09-28 08:29:48

标签: rxjs

我想在错误

中将Observable拆分为两个Observable

catch运算符可以通过throw或返回Observable.throw

返回可观察或传播错误,将错误转换为有效

partition运算符仅处理有效值,没有错误通过此

我需要的是将Observable拆分为两个Observable然后以不同方式处理并合并它们,如下图所示

enter image description here

1 个答案:

答案 0 :(得分:1)

这样的模式可能适合您的用例



step1
  .map((data)=>{data:data})
  .catch(()=>Observable.of({error:'error'})
  .flatMap((res)=>{
    //process A and B should return observable
    if(res.data) return processA(res)
    return processB(res)
  })
  .map(res=>{
  //do your merged processing here 
  })
  .subscribe()