深入浅出RxJS
2020-03-19 14:59:52 0 举报
AI智能生成
深入浅出RxJS
作者其他创作
大纲/内容
9 异常错误处理
9.1 异常处理不可避免
9.2 异常处理的难点
9.2.1 try/catch只支持同步运算
9.2.2 回调函数的局限
9.2.3 Promise的异常处理
9.3 RxJS的异常处理
9.3.1 catch
9.3.2 retry
9.3.3 retryWhen
9.3.4 finally
9.4 重试的本质
9.5 本章小结
10 多播
10.1 数据流的多播
10.2 Hot和Cold数据流差异
10.3 Subject
10.3.1 两面神Subject
10.3.2 用Subject实现多播
10.3.3 makeHot操作符
10.3.4 Subject不能重复使用
10.3.5 Subject可以有多个上游
10.3.6 Subject的错误处理
10.4 支持多播的操作符
10.4.1 multicast
10.4.2 publish
10.4.3 share
10.5 高级多播功能
10.5.1 publishLast和AsyncSubject
10.5.2 pubishReplay和ReplaySubject
10.5.3 publishBehavior和BehaviorSubject
10.6 本章小结
11 掌握时间的Scheduler
11.1 Scheduler的调度作用
11.2 RxJS提供的Scheduler
11.3 Scheduler的工作原理
11.3.1 单线程的JavaScript
11.3.2 调用栈和事件循环
11.3.3 Scheduler如何工作
11.4 支持Scheduler的操作符
11.4.1 创造类和合并类操作符
11.4.2 observeOn
11.4.3 subscribeOn
11.5 本章小结
12 RxJS的调试和测试
12.1 调试方法
12.1.1 无用武之地的Debugger
12.1.2 利用日志来调试
12.1.3 利用do来插入调试代码
12.1.4 改进的日志调试方法
12.1.5 数据流依赖图
12.1.6 弹珠图
12.2 单元测试
12.2.1 单元测试的作用
12.2.2 RxJS天生适合单元测试
12.2.3 单元测试的结构
12.2.4 RxJS单元测试中的时间
12.2.5 操纵时间的TestScheduler
12.2.6 可测试性代码
12.3 本章小结
13 用RxJS驱动React
13.1 React简介
13.1.1 为什么选择React
13.1.2 React如何工作
13.2 简单的React应用Counter
13.3 利用RxJS管理React状态
13.3.1 利用Subject作为桥梁
13.3.2 用高阶组件连接RxJS
13.4 本章小结
14 Redux和RxJS结合
14.1 Redux简介
14.1.1 Redux的工作方式
14.1.2 构建Redux应用
14.2 用RxJS实现Redux
14.3 Redux和RxJS比较
14.4 Redux-Observable:Redux和RxJS的结合
14.5 本章小结
15 RxJS游戏开发
15.1 breakout的历史
15.2 程序设计
15.3 用RxJS实现breakout
15.4 本章小结
结语
1 函数响应式编程
1.1 一个简单的RxJS例子
1.2 函数式编程
1.2.1 什么是函数式编程
1.2.2 为什么函数式编程最近才崛起
1.2.3 函数式编程和面向对象编程的比较
1.3 响应式编程
1.4 Reactive Extension
1.5 RxJS是否是函数响应式编程
1.6 函数响应式编程的优势
1.7 本章小结
2 RxJS入门
2.1 RxJS的版本和运行环境
2.2 Observable和Observer
2.2.1 观察者模式
2.2.2 迭代器模式
2.2.3 创造Observable
2.2.4 跨越时间的Observable
2.2.5 永无止境的Observable
2.2.6 Observable的完结
2.2.7 Observable的出错处理
2.2.8 Observer的简单形式
2.3 退订Observable
2.4 Hot Observable和Cold Observable
2.5 操作符简介
2.6 弹珠图
2.7 本章小结
3 操作符基础
3.1 为什么要有操作符
3.2 操作符的分类
3.2.1 功能分类
3.2.2 静态和实例分类
3.3 如何实现操作符
3.3.1 操作符函数的实现
3.3.2 关联Observable
3.3.3 改进的操作符定义
3.3.4 lettable/pipeable操作符
3.4 本章小结
4 创建数据流
4.1 创建类操作符
4.2 创建同步数据流
4.2.1 create:毫无神奇之处
4.2.2 of:列举数据
4.2.3 range:指定范围
4.2.4 generate:循环创建
4.2.5 repeat:重复数据的数据流
4.2.6 三个极简的操作符:empty、never和throw
4.3 创建异步数据的Observable对象
4.3.1 interval和timer:定时产生数据
4.3.2 from:可把一切转化为Observable
4.3.3 fromPromise:异步处理的交接
4.3.4 fromEvent
4.3.5 fromEventPattern
4.3.6 ajax
4.3.7 repeatWhen
4.3.8 defer
4.4 本章小结
5 合并数据流
5.1 合并类操作符
5.1.1 concat:首尾相连
5.1.2 merge:先到先得快速通过
5.1.3 zip:拉链式组合
5.1.4 combineLatest:合并最后一个数据
5.1.5 withLatestFrom
5.1.6 解决glitch
5.1.7 race:胜者通吃
5.1.8 startWith
5.1.9 forkJoin
5.2 高阶Observable
5.2.1 高阶Observable的意义
5.2.2 操作高阶Observable的合并类操作符
5.2.3 进化的高阶Observable处理
5.3 本章小结
6 辅助类操作符
6.1 数学类操作符
6.1.1 count:统计数据个数
6.1.2 max和min:最大最小值
6.1.3 reduce:规约统计
6.2 条件布尔类操作符
6.2.1 every
6.2.2 find和findIndex
6.2.3 isEmpty
6.2.4 defaultIfEmpty
6.3 本章小结
7 过滤数据流
7.1 过滤类操作符的模式
7.1.1 filter
7.1.2 first
7.1.3 last
7.1.4 take一族操作符
7.1.5 计时的点击计数网页程序
7.1.6 skip
7.1.7 skipWhile和skipUntil
7.2 回压控制
7.2.1 throttle和debounce
7.2.2 auditTime和audit
7.2.3 sampleTime和sample
7.2.4 根据数据序列做回压控制
7.3 其他过滤方式
7.3.1 ignoreElements
7.3.2 elementAt
7.3.3 single
7.4 本章小结
8 转化数据流
8.1 转化类操作符
8.2 映射数据
8.2.1 map
8.2.2 mapTo
8.2.3 pluck
8.3 缓存窗口:无损回压控制
8.3.1 windowTime和bufferTime
8.3.2 windowCount和bufferCount
8.3.3 windowWhen和bufferWhen
8.3.4 windowToggle和bufferToggle
8.3.5 window和buffer
8.4 高阶的map
8.4.1 concatMap
8.4.2 mergeMap
8.4.3 switchMap
8.4.4 exhaustMap
8.4.5 高阶的MapTo
8.4.6 expand
8.5 数据分组
8.6 累计数据
8.6.1 scan
8.6.2 mergeScan
8.7 本章小结
0 条评论
下一页