我有一個可觀察對象和另一個可觀察對象,它提供了一個更改密鑰 。 我想構建一個觀察值,基於該鍵在對象中的可觀察值之間切換。基於可觀察性,從可觀察對象中選擇可觀察對象
例子:
// Choose randomly between "up" or "down" every second
const upOrDown$ = Rx.Observable.interval(1000).publish().refCount()
.map(() => Math.random() < 0.5 ? "up" : "down")
const myMap =
{ "up" : Rx.Observable.interval(100).publish().refCount().map("foo")
, "down" : Rx.Observable.interval(100).publish().refCount().map("bar")
}
upOrDown$.flatMap(ud => myMap[ud]).subscribe(x => console.log(x));
不幸的是,打算在不工作。 我預計在一秒的時間內,要麼foo
要麼bar
被髮射,而不是兩者。
任何想法?