Rxjs给应用带来的优势
16lz
2021-04-15
原文链接: https://www.zhihu.com/question/40060342
一、简化异步 JavaScript 逻辑
- RxJS 把所有的异步事件都封装成 Observable。
- 因为所有的异步事件都被封装成了 Observable,所以所有的异步事件都可以用同样的 api 来订阅。
- 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)
二、降低并发问题的复杂性
把(已经发生或者将要发生的)某组事件(通过某种规则)转化成另一组事件,最终对其进行订阅的库。
©著作权归作者所有:来自51CTO博客作者mb607558ea4fef1的原创作品,如需转载,请注明出处,否则将追究法律责任更多相关文章
- MySQL默认数据库介绍
- 面向对象、类和对象、封装---------私有private、this关键字
- ReactNative之从HelloWorld中看环境搭建、组件封装、Props及Stat
- 等待事件之enq: HW - contention
- 参数SQL_SLAVE_SKIP_COUNTER的奥秘
- Java过滤任意(script,html,style)标签符,返回纯文本--封装类
- Java正则表达式过滤脚本威胁--封装类
- 【JS基础入门】JavaScript基础之事件的操作详解及字符串数组常用
- input输入框相关事件整理