跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • rxjs 你们拿这个做什么
未分類
15 9 月 2020

rxjs 你们拿这个做什么

rxjs 你们拿这个做什么

資深大佬 : soulmt 4

看了一下,学习了一下,感觉很刁,但是不知道怎么使用,大佬们,指导一下,这个使用场景是什么

大佬有話說 (39)

  • 資深大佬 : catch

    装逼用

  • 主 資深大佬 : soulmt

    @catch 这话说到头了哈

  • 資深大佬 : zhouyg

    一把屠龙刀

  • 資深大佬 : xrr2016

    主要是用来处理异步数据操作吧,不过感觉设计太复杂,不用

  • 資深大佬 : sunjourney

    rxjs 什么业务场景都能胜任,被形容成屠龙刀,也是服了

  • 資深大佬 : peterjose

    搞 websocket

  • 資深大佬 : tsvico

    经常用来订阅异步消息

  • 資深大佬 : ddup

    处理复杂业务用 RxJS:太方便了,实在是太方便了。

  • 資深大佬 : des

    在 websocket 里面用 rxjs 简直不要太舒服

  • 資深大佬 : chihiro2014

    RSocket

  • 資深大佬 : ochatokori

    angular 自带,懒得 toPromise 就用了

  • 資深大佬 : wunonglin

    真的香,现在完全离不开

  • 資深大佬 : Zchary

    RxJS rules ! Ng 用来多请求,数据流控制很舒服

  • 資深大佬 : YYYeung

    回调地狱杀手

  • 資深大佬 : laike9m

    学了很多次都没学懂,可能是我比较笨。。

  • 資深大佬 : zjsxwc

    最大的优势是,把事件行为数据化,
    比如把用户操作行为、异步回调都变成统一的流化数据

  • 資深大佬 : siweipancc

    写前端代码没有 rxjs 跟吃了屎一样,来自一个后端的怨念

  • 資深大佬 : rrfeng

    Angular 官方推荐,试了一下确实很好用。
    比如之前有这么一个场景:
    一个 timer 定期轮询数据并更新页面,同时可能有几个按钮也会触发这个更新动作。怎么确保这两种触发形式优雅的合作?

  • 資深大佬 : leemove

    只在 angular 项目里用用,其他项目都没有引入过。虽然他确实好用,但是 js 原生处理异步方式也很多了,async await promise 出来之前他可能是无可替代的。

  • 資深大佬 : dany813

    哎,在 react 中一直么用过

  • 資深大佬 : wangxiaoaer

    @ddup 举个例子?不是抬杠。

  • 主 資深大佬 : soulmt

    @tsvico 你们的技术栈是什么? 什么情况下需要在业务里面订阅消息。

  • 主 資深大佬 : soulmt

    @des 没用过 websocket 不过 socket 推送和 rxjs 的订阅 仿佛是个不错的组合。

  • 主 資深大佬 : soulmt

    @wunonglin 你们技术栈是什么,什么业务用。怎么香

  • 主 資深大佬 : soulmt

    @siweipancc 后端有各种消息,大量的数据处理,前端这边就比较少了吧,前端我更多的是业务逻辑上的,

  • 主 資深大佬 : soulmt

    @rrfeng 这确实也是个场景,不同的 入口或者流程但是 最终的结果是一致的,并且互相不能影响如果用 js 的话可能要维护各种状态来做控制了

  • 主 資深大佬 : soulmt

    @leemove 害 难怪我不知道怎么用 你们用的 sockect angular 我都没用过,只是最近在写 cli 的时候遇到了 rx 然后发现很吊,想运用到业务中,发现好像没什么容身之处,可能是我对 rxjs 没有深刻认知导致的。 目前的技术栈 react 。

  • 資深大佬 : wunonglin

    @soulmt #24 angular 。在能用 rxjs 的时候就基本不会用 promise 了,流式异步简直不要太爽

  • 主 資深大佬 : soulmt

    @wunonglin 晓得了,angular 的场子, 我不应该来的。哈哈

  • 資深大佬 : wunonglin

    @soulmt #29 就算三大框架都不用也能用 rxjs,现在写些小页面都用这做事件订阅之类的了,总之就是好处多多

  • 資深大佬 : gzf6

    rx 不光是 rxjs 了,这种模式已经有好多语言的实现了,可以了解下

  • 資深大佬 : ddup

    @wangxiaoaer #21 用 RxJs 的话,需要配合 TypeScript 有完善的智能提示,这样体验更好,我用的是 Angular,不过即使是 Vue 也是一样可以很方便的和 RxJs 结合的。

    以前对 RxJs 了解有限,因为业务复用杂想应用下 RxJs 看到底有没有那么香,学起来确实要费点劲的,因为 RxJs 理念很不一样,文档也很学术,例子不接地气,担是学成会用之后,爱不释手,写起来感觉很爽,相见恨晚。

    例子的话,说个场景,比如有个功能同时有以下需要:
    多个异步结果合并(且其中某个异步出错则 fallback 不终止执行)
    延迟执行
    出错重试
    异常后根据条件判断是抛出异常还是 fallback
    各种异步请求依赖和嵌套,请求数据二次加工处理

    RxJs 可以清晰优雅的实现这个功能。

  • 資深大佬 : qwerthhusn

    就是 async await 出来之前
    RxJS 可以很好的解决 Callback Hell

  • 主 資深大佬 : soulmt

    @gzf6 这我知道,rx 已经支持了很多种语言

  • 主 資深大佬 : soulmt

    @qwerthhusn 是的 es6 提供了很多方法用 promise+各种函数链式调用,也可以写的很舒畅。

  • 主 資深大佬 : soulmt

    @ddup
    多个异步结果合并 Promise 在新的 api 中也支持了。
    延迟执行 延迟执行 js 也可以,在 promise 中间加一个延迟的中间件就可以做到,
    异常后根据条件判断是抛出异常还是 这个也可以,promise catch 和 then 可以决定 让这个 promise 走异常还是继续 then

    感觉你说的 promise 好像都可以实现,不知道是否可以说说它和 promise 对异步处理的优劣点

  • 資深大佬 : crclz

    @laike9m 不是你比较笨,而是你压根没有想要把 rxjs 用于开发(或者制作一个 demo )。只有当你逼迫自己的时候,你才能够掌握 rxjs 。

    @soulmt 这个不是 angular 的事情,所有框架都可以受益于 rxjs 。关于应用场景,我举一个例子:

    你有一个搜索栏,搜索学生信息。这个搜索功能提供 3 个 filter:关键词 、学生性别、页码 。

    这个时候,如果你想要任何一个筛选条件改变时,都重新获取数据,rxjs 只需要用一个 combineLatest 操作符。

    如果你想要当关键词和分页器页码改变时,才重新获取数据,你只需要 combineLatest 关键词和分页器页码,然后再 withLatest 学生性别筛选输入。

    rxjs 有很多操作符,每一个操作符都对应着常见的流的组合行为,每一个操作符都是由很多行代码写成的。
    所以,简单来说,rxjs 每一个操作符都能够替代你十行甚至几十行代码。这个也可以视作相对于 async/await 的优点。

    —

    最后:rx 和 rxjs 来自于微软,来自于.Net ,来自于 System.Reactive.Linq. Shout out to Microsoft!

  • 資深大佬 : djyde

    @peterjose #6
    @des #9

    能具体讲讲你们如何用 Rx 处理 WebSocket 问题吗?想了解一下

  • 資深大佬 : peterjose

    @djyde github 上有个库 就是这种很明显的流操作 非常简单

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具