zoukankan      html  css  js  c++  java
  • RxJS学习笔记

    本文为原创,转载请注明出处: cnzt       文章:cnzt-p

    http://www.cnblogs.com/zt-blog/p/7809176.html 

    RxJS在Angular中是一个很重要的东西,此篇为RxJS的学习笔记。

      

    RxJS(Reactive extension js)是一个库,它用Observable序列来处理异步的、基于事件的程序。它提供了一个核心类型Observable(Observer, Schedulers, Subjects) 和一组数组操作符(map, filter, reduce, every, etc)oprators,来允许将异步的事件作为集合处理。

    解决异步的集合核心概念:

      Observable  Observer  Subscription  Oprators  Subject  Schedulers(控制并发)

    (一)Observable, Observer , Subscription  

      下图的create相当于Producer, subscribe相当于consumer。 多个subscribe时,每次subscribe相当于重新单独call了一次function(observer){...},每次互不影响,因为function和Observable都是lazy computations的,不call/subscribe就不会执行的。

      

      Observable既可以是同步的,也可以是异步的。

      Observable可以返回多个值:    observer.next(1); observer.next(2); ......     ***这点在function中是做不到的!***

      Observable的四个方面:

    • Creating Observables
    • Subscribing to Observables
    • Executing the Observable
    • Disposing Observables

      subscribe调用时传递的参数就是Observer,Observer一般包含三个callback:next,error 和 complete。

      传递error给observer的方式:

      

      dispose:   Subscription

      

     (二)Subject

      Subject是一种特殊的Observable。区别在于:Observable是单播(每一个被订阅的Observer在其Observable有独立的执行环境),Subject是多播(多个Observer共同分享一个execution)。

      ***每个Subject都是一个Observable,每个Subject也是一个Observer。

      最重要特性就是可多播

    (三)Operator 

      Operator是一个纯函数,生成一个新的Observable而不改变原有的Observable。 对新Observable的订阅也会订阅到原Observable上面(操作符订阅链)。

      操作符分为:实例操作符 和  静态操作符。 实例操作符作用在Observable实例上,静态操作符作用域Observable这个对象上。

      操作符所有类型列表:   http://reactivex.io/rxjs/manual/overview.html#categories-of-operators

      

      

  • 相关阅读:
    CentOS安装node.js-8.11.1+替换淘宝NPM镜像
    【推荐】CentOS安装gcc-4.9.4+更新环境+更新动态库
    申请安装阿里云免费SSL证书
    服务器安全加固
    【推荐】优秀代码
    CenOS登录失败处理功能
    Ubuntu修改密码及密码复杂度策略设置
    mysql 5.7添加server_audit 安全审计功能
    快速安装jumpserver开源堡垒机
    oracle 11g 配置口令复杂度
  • 原文地址:https://www.cnblogs.com/zt-blog/p/7809176.html
Copyright © 2011-2022 走看看