[RxJS学习之旅] 之 初识RxJs

这是一个学习RxJs 笔记仓库 👇👇,通过书籍和实践总结出一个手册,如有错误可以击提issue 💪,如果觉得ok,请点个star 🙏, 送人玫瑰、手有余香

RxJs 仓库

本系列文章

  1. 你应该了解的函数实现与组合应用
  2. 初识RxJs与搭建仓库
  3. RxJs基础概念与使用
  4. 操作符篇
  5. 简易实现Observable

后续文章会不断更新💪~

介绍

什么是Rx?

Ractive Extension 也叫 ReactiveX,或者简称Rx,指的是实践响应式编程的一套工具。Rx是一个大家族它包含 RxJava、RxPy等,RxJS是Rx用JavaScript语言实现

RxJs擅长处理异步操作,因为它采用的处理方式,当一个数据产生时,被推送给对应的处理函数,而这个处理函数不用关心数据是同步产生还是异步产生的。因此学习RxJS就是学习如何组合操作符来解决复杂问题。简而言之:

  1. RxJS 是使用 Observables 的响应式编程的库,它使编写异步或基于回调的代码更容易。
  2. 可以将它看作一个事件处理的Lodash
  3. ReactiveX将观察者模式迭代器模式以及函数编程相结合,从而满足了管理事件序列的理想方式的需求。

函数编程特点

  • 纯函数
  • 声明式
  • 数据不可变性

函数响应式编程优势
5. 数据流抽象了很多现实问题
6. 擅长处理异步操作
7. 把复杂问题分解成简单问题的组合

pull与push

pull和push 是两种不同的协议,它们描述了数据生产者(Producer)如何数据消费者(Consumer)通信

  • pull:在 pull 系统中Consumer明确知道何时从Producer中接收数据,但是Producer不知道何时将数据发送给Consumer
    每个JavaScript函数都是一个Pull系统。该函数是数据的生产者,并且调用该函数的代码通过从调用中“拉出” 单个返回值来使用它。
Producer Consumer
pull 被动:在需要时产生数据。 主动:决定何时请求数据。
push 主动:自己的节奏生成数据。 被动:对收到对数据做反应处理
  • push:在推送系统中,生产者确定何时将数据发送给消费者。消费者不知道何时接收该数据
    Promise 是当今JavaScript中最常见的Push系统类型。

RxJs 引入Observables这是一个用于JavaScript的新Push系统,一个Observable是多个值的生产者,将它们“推送”到观察者(消费者)。

Observable与Observer

Observable 就是"可以被观察的对象"即被观察者,而Observer就是观察者,连接他们的桥梁就是Observable对象的函数 subscribe

RxJs的数据流就是Observable对象,采用了 观察者模式、迭代器模式

观察者模式

观察者模式用将逻辑分为发布者和观察者。

  • 其中发布者只管负责产生事件,它会通知所有注册的观察者,而不关心这些观察者是如何处理事件。
  • 观察者可以被注册上某个发布者,只管接收到事件之后的处理,而不关心这些数据
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值