科技
类型
7.4
豆瓣评分
可以朗读
语音朗读
383千字
字数
2018-04-01
发行日期
展开全部
主编推荐语
本书系统讲解RxJS响应式编程的技术原理与应用。
内容简介
RxJS是Reactive Extension这种模式的JavaScript语言实现,通过学习了解RxJS,你将打开一扇通往全新编程风格的大门。当然,我们学习RxJS,并不是因为RxJS是一项炫酷的技术,也不是因为RxJS是一个最新的技术。在技术的道路上,如果只是追逐“炫酷”和“最新”,肯定是要吃苦头的,因为这是舍本逐末。
目录
- 版权信息
- 前言
- 第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和Obschmerver
- 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 Obschmerver的简单形式
- 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 本章小结
- 第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 本章小结
- 结语
展开全部
出版方
机械工业出版社有限公司
机械工业出版社是全国优秀出版社,自1952年成立以来,坚持为科技、为教育服务,以向行业、向学校提供优质、权威的精神产品为宗旨,以“服务社会和人民群众需求,传播社会主义先进文化”为己任,产业结构不断完善,已由传统的图书出版向着图书、期刊、电子出版物、音像制品、电子商务一体化延伸,现已发展为多领域、多学科的大型综合性出版社,涉及机械、电工电子、汽车、计算机、经济管理、建筑、ELT、科普以及教材、教辅等领域。