3. sinks

现实中,我们不可能只具有单一逻辑,例如,DOM 元素的计时器是 1s 一跳,而控制条的计时器是 2s 一跳。因此,需要修改 main() 方法,让其返回一个包含了多个逻辑的 sinks:

function main() {
  return {
    DOM: Rx.Observable.timer(0, 1000)
      .map(i => `Seconds Elapsed ${i}`),
    Log: Rx.Observable.timer(0, 2000)
      .map(i => 2 * i)
  };
}

function DOMEffect(text$) {
  text$.subscribe(text => {
    $app = document.querySelector('#app');
    $app.textContent = text;
  });
}

function consoleLogEffect(msg$) {
  msg$.subscribe(msg => {
    console.log(msg);
  });
}

const sink = main();
DOMEffect(sink.DOM);
consoleLogEffect(sink.Log);

查看示例

results matching ""

    No results matching ""