We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
RxJS API 中文版 构建流式应用—RxJS详解 RxJS 中文文档 RxMarbles
rxjs是一个使用observable sequences(可观察序列)来构建异步和基于事件的程序的库。它提供了一个核心类型Observable,以及围绕着核心类型的类型Observer,Schedulers , Subjects,还有一些衍生自数组的operators,像map,filter,reduce,every等等。这些让我们可以以集合的方式处理异步事件。 简单的说,rxjs:reactive extensions for javascript,就是把随时间不断变化的数据,状态,事件等转化成可被观察的序列。
rxjs中解决异步事件管理的一些基本概念:
通常注册事件监听的方式:
let button = document.querySelector('button'); button.addEventListener('click', () => console.log('clicked!'));
使用rxjs创建方式:
let button = document.querySelector('button'); Observable.fromEvent(button, 'click').subscribe( () => console.log('clicked!') );
什么叫纯函数? 给出同样的参数,该函数总是得出同样结果。不会调用任何会对外界产生影响的函数。比如没有数据库调用,没有http请求,也不会改变外部的数据结构。 使用rxjs来隔离状态
let button = document.querySelector('button'); Observable.fromEvent(button, 'click') .scan(count => count + 1, 0) .subscribe(count => console.log(`Clicked ${count} times`));
scan操作符把每个中间过程中计算出的结果值发送出去,scan(count => count + 1, 0)中,0是初始值,每次点击时,会返回count => count + 1的结果,并把这个结果作为下一次函数运行时的初始值。
关于流的一些概念
let button = document.querySelector('button'); Observable.fromEvent(button, 'click').throttleTime(1000) .scan(count => count + 1, 0) .subscribe(count => console.log(`Clicked ${count} times`));
可以通过可观察对象来转化值 例如,下面的程序是在每次点击鼠标时获取x坐标的位置
let button = document.querySelector('button'); Observable.fromEvent(button, 'click') .throttleTime(1000) .map(event => event.clientX) .scan((count, clientX) => count + clientX, 0) .subscribe(count => console.log(count));
data Producer 和data Consumer之间的交流是通过pull(拉)和push(推)这两种不同的方式。 什么是pull? data Consumer决定何时从data Producer那里获取数据,但是data Producer并不会意识到什么时候数据将会被发送给data Consumer。 什么是push? data Producer决定何时发送数据给data Consumer,data Consumer不会在接收数据之前意识到它将要接收这个数据。 promise是现在js中最常见的push体系。一个promise发送一个resolved value来注册一个回调,不同于函数的地方是,promise决定何时数据才被推送到这个回调函数中。 rxjs引入了observables,一个observable对象是一个i额产生多值的生产者,并推送给observer。
可观察对象像一个零参的函数,但是允许返回多个值。 订阅一个可观察对象类似于调用一个函数。
什么是观察者? 观察者是可观察对象所发送数据的消费者。观察者简单的说是一组回调函数,分别对应一种被可观察对象发送的通知的类型:next,error和complete。 使用观察者需要订阅可观察对象。
什么是订阅? 订阅通常是一个可观察对象的执行。订阅对象有一个重要的方法:unsubscribe,该方法不需要参数,仅仅用来废弃可观察对象所持有的资源。 订阅对象还有两个方法。一个是add,用于把一个订阅加进另一个订阅里。还有一个是remove,用于解除被add添加的子订阅。
let subscription = Observable.subscribe(x => console.log('first:' + x)); let childSubscription = Observable.subscribe(x => console.log('second:' + x)); subscription.add(childSubscription);
1 创建
2 转换
3 过滤
4 组合 做个source组合成新的souce
5 判断
6 错误处理
7 工具
8 计算 把source的所有发射数据进行指定计算后,得出的数据作为新source的发射数据,计算方法分别有:max, min, count, reduce, average等
9 其他
The text was updated successfully, but these errors were encountered:
No branches or pull requests
十分努力的啃一遍官网(缓慢学习中)
RxJS API 中文版
构建流式应用—RxJS详解
RxJS 中文文档
RxMarbles
rxjs是一个使用observable sequences(可观察序列)来构建异步和基于事件的程序的库。它提供了一个核心类型Observable,以及围绕着核心类型的类型Observer,Schedulers , Subjects,还有一些衍生自数组的operators,像map,filter,reduce,every等等。这些让我们可以以集合的方式处理异步事件。
简单的说,rxjs:reactive extensions for javascript,就是把随时间不断变化的数据,状态,事件等转化成可被观察的序列。
rxjs中解决异步事件管理的一些基本概念:
first examples
通常注册事件监听的方式:
使用rxjs创建方式:
Purity 纯函数
什么叫纯函数?
给出同样的参数,该函数总是得出同样结果。不会调用任何会对外界产生影响的函数。比如没有数据库调用,没有http请求,也不会改变外部的数据结构。
使用rxjs来隔离状态
scan操作符把每个中间过程中计算出的结果值发送出去,scan(count => count + 1, 0)中,0是初始值,每次点击时,会返回count => count + 1的结果,并把这个结果作为下一次函数运行时的初始值。
Flow 流
关于流的一些概念
rxjs有一系列的operators,他们能帮助你去控制事件如何流入可观察对象observables。
例如
Values 值
可以通过可观察对象来转化值
例如,下面的程序是在每次点击鼠标时获取x坐标的位置
Observable 可观察对象
pull and push
data Producer 和data Consumer之间的交流是通过pull(拉)和push(推)这两种不同的方式。
什么是pull?
data Consumer决定何时从data Producer那里获取数据,但是data Producer并不会意识到什么时候数据将会被发送给data Consumer。
什么是push?
data Producer决定何时发送数据给data Consumer,data Consumer不会在接收数据之前意识到它将要接收这个数据。
promise是现在js中最常见的push体系。一个promise发送一个resolved value来注册一个回调,不同于函数的地方是,promise决定何时数据才被推送到这个回调函数中。
rxjs引入了observables,一个observable对象是一个i额产生多值的生产者,并推送给observer。
Observables as generalizations of functions
可观察对象像一个零参的函数,但是允许返回多个值。
订阅一个可观察对象类似于调用一个函数。
Anatomy of an Observable 分析可观察对象
创建(create)一个可观察对象,观察者订阅(subscribe)它,执行(execute)它然后给观察者发送next/error/complete通知。他们的执行可能会被处理(disposed)。
Observer 观察者
什么是观察者?
观察者是可观察对象所发送数据的消费者。观察者简单的说是一组回调函数,分别对应一种被可观察对象发送的通知的类型:next,error和complete。
使用观察者需要订阅可观察对象。
Subscription 订阅
什么是订阅?
订阅通常是一个可观察对象的执行。订阅对象有一个重要的方法:unsubscribe,该方法不需要参数,仅仅用来废弃可观察对象所持有的资源。
订阅对象还有两个方法。一个是add,用于把一个订阅加进另一个订阅里。还有一个是remove,用于解除被add添加的子订阅。
以下转自雨异博客
实例方法Operators
1 创建
2 转换
3 过滤
4 组合
做个source组合成新的souce
5 判断
6 错误处理
7 工具
8 计算
把source的所有发射数据进行指定计算后,得出的数据作为新source的发射数据,计算方法分别有:max, min, count, reduce, average等
9 其他
The text was updated successfully, but these errors were encountered: