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);