Rxjs 初学总结

Rxjs是什么?

rxjs是一种让异步编程更为简单和可控的响应式编程工具

响应式编程:一种面向数据流和变化传播的编程范式。这意味着可以在编程语言中很方便地表达静态或动态的数据流,而相关的计算模型会自动将变化的值通过数据流进行传播。

核心概念

Observable:推送者,负责推送数据或事件,可以理解为它就是一个函数,正因为函数式从上往下执行的,所以消息也是由上往下推送的。

observer:Observable所推送的数据或事件的消费者,在Rxjs中它是一个由三个回调函数组成的hash,key分别为:next,error,complete,以此接受Observable推送的不同类型的消息。

subscribe:observer消费的Observable的工具

Subscription:管理者,用来管理Observable和Observer之间的关系。它可以通过subscribe.unsubscribe()终结Observable工作的执行。

下面的代码段是一个示例:

控制台打印:

在上列中,observable先后向observer1推送了内容为meg1,msg2,meg3,msg4四条消息。然后observer1通过subscribe消费了这四条消息——进行了打印。

而如果在observable推送的过程中执行subscribe.unsubscribe(),则会终止推送:

控制台打印:

next,error 与 complete

next就是消费一条接一条被推送过来的消息的函数,,error是消费的过程中的异常捕捉的函数,complete是消费终止之后处触发的函数

多人订阅

可以进行多个消费者消费。

像上面的例子,再创建一个observer2的对象,执行同样的操作,observer2就消费了此消息,那么observer2的执行过程和observer1是没有任何关系的。

注意:并不是共享Observable对象。

总结

Observable的好处在于模型简单、过程有多个输出、中间可以中断和RxJS提供的强大的operators。(感谢学习过程中夜鹰大佬的指点)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 文章主要介绍Observable,但是它是来自于RxJS这个强大的库。 简单了解一下RxJS以及RxJs和Obse...
    杉然阅读 16,676评论 12 17
  • 参考文章:介绍RxJS在Angular中的应用 一、可观察对象(Observable) 可观察对象支持在应用中的发...
    chrisghb阅读 3,345评论 1 3
  • 经典例子:小试牛刀 (轻而易举搞定异步处理) 场景:input 输入框实时搜索,根据输入的关键字,实时发送异步请求...
    曼路x_x阅读 8,042评论 0 4
  • 一.函数式编程 函数式编程要求: 声明式 纯函数 数据不可变js 不算纯粹意义上的函数式编程语言,但是,在js中函...
    月半女那阅读 887评论 0 2
  • 推荐我的Rxjs教程:Rxjs系列教程目录 前言 随着开发中项目的越来越大,代码的要求越来越高,于是开始四处搜找各...
    侬姝沁儿阅读 10,237评论 1 6