如果另一个Observable中存在值,则修改Observable

时间:2017-04-19 17:35:57

标签: angular rxjs

我想比较2个observable并修改source observable,如果第二个observable中存在一个值。

示例:

[

    {
      value: 3
    }
]


[
    {
      value: 1
      exists: false
    },
    {
      value: 2
      exists: false
    },
    {
      value: 3
      exists: true
    }
]

1 个答案:

答案 0 :(得分:0)

类似的东西会起作用吗?

let obs2$ = Rx.Observable.of(2,4,6,8);

let obs1$ = Rx.Observable.of(1, 2, 3, 5, 6, 7)
         .switchMap(x=> obs2$
                        .first(v => v===x, v=>true, false)
                        .map(exist => ({exist:exist, value:x})))
        .subscribe(x=>console.log(x))