小编F.A*_*ida的帖子

rxjs Observable 相对于 DOM 事件有什么优点?

我一直在研究 rxjs 和反应式编程,但有些东西我还不太明白。例如,我想获取keyup简单输入上的事件结果,映射它,并将映射结果设置为另一个div内容:

const root = $('#root'),
      input = root.find('#some-input'),
      result = root.find('#result');
Run Code Online (Sandbox Code Playgroud)

使用 rxjs,我可以这样做:

const keyupObs = fromEvent(input, 'keyup');
const mapper = keyupObs.pipe(
    map(e => $(e.target)),
    tap(t => result.html(t.val()))
).subscribe(t => console.log(t));
Run Code Online (Sandbox Code Playgroud)

使用 jquery 驱动的事件,我可以编写:

input.on('keyup', e => result.html($(e.currentTarget).val()));
Run Code Online (Sandbox Code Playgroud)

这是更少的代码,对于像我这样的初学者来说,似乎与我使用 rxjs 编写的代码没有太大区别。那么使用 rxjs 的主要优点是什么?为什么我应该使用它而不是 DOM 驱动事件(在本例中使用 jQuery)?

javascript jquery reactive-programming rxjs

5
推荐指数
1
解决办法
1033
查看次数

标签 统计

javascript ×1

jquery ×1

reactive-programming ×1

rxjs ×1