孤独プログラマー譚

孤独死が近い。

RxJS mergeの使いどころ

複数のObservable、同一のsubscribeメソッドの時は、mergeでまとめることが出来る。


まとめる前。

let obs1  = obs(1)
let obs2  = obs(2)
obs1.subscribe(cl) // 1秒後に発火
obs2.subscribe(cl) // 2秒後に発火


まとめた後。

let obs1  = obs(1)
let obs2  = obs(2)
rx.merge(obs1,obs2)
.subscribe(cl) // 1秒後に発火, 2秒後に発火


共通メソッド。

function obs(t = 1) {
  return rx.Observable.create((observer) => {
    setTimeout(() => {
      observer.next(1)
    }, t * 1000)
  })
}

function cl(v) {
  console.log(v)
}