Rxjs给应用带来的优势

2021/4/15 10:25:11

本文主要是介绍Rxjs给应用带来的优势,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

原文链接: https://www.zhihu.com/question/40060342

一、简化异步 JavaScript 逻辑

  1. RxJS 把所有的异步事件都封装成 Observable。
  2. 因为所有的异步事件都被封装成了 Observable,所以所有的异步事件都可以用同样的 api 来订阅。
  3. RxJS 的 Operator 可以非常轻易地实现非常复杂的异步操作。

比如说,你要从后端获取数据,然后渲染一个表格。另外,当 WebSocket 推送事件,还有用户点击按钮时,要重新从后端获取数据。

不用 RxJS 的代码可能是这样的:

getData()
  .then(renderList)

document.addEventListener("click", () => {
  getData()
    .then(renderList)
})

socket.on(() => {
  getData()
    .then(renderList)
})

用 RxJS 的代码可能是这样的:

const click$ = Rx.Observable.fromEvent(document, "click")
const socket$ = Rx.Observable.webSocket("xxxxxx")

const data$ = Rx.Observable
  .merge(socket$, click$)
  .startWith('init')
  .switchMap(getData)

data$.subscribe(renderList)

二、降低并发问题的复杂性

把(已经发生或者将要发生的)某组事件(通过某种规则)转化成另一组事件,最终对其进行订阅的库。



这篇关于Rxjs给应用带来的优势的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程