RxJS if elseをどう表現するか
iif という関数がある。
iif自体は、Observableを返却する。
let arr = [1, 2, 3, 4, 5] rx.from(arr) .pipe( op.mergeMap(v => { return rx.iif( () => v % 2 === 0, rx.of(`偶数:${v}`), rx.of(`奇数:${v}`), ) }) ) .subscribe(cl) // 奇数:1 // 偶数:2 // 奇数:3 // 偶数:4 // 奇数:5
別にmapオペレータ内でif文を分岐させれば、十分な気がしてきた。
let arr = [1, 2, 3, 4, 5] rx.from(arr) .pipe( op.map(v => { if (v % 2 === 0) { return `偶数:${v}` } else { return `奇数:${v}` } }) ) .subscribe(cl) // 奇数:1 // 偶数:2 // 奇数:3 // 偶数:4 // 奇数:5