这是一套用于学习使用微软 Reactive Extensions(Rx) Javascript 库的交互式学习教程。那为什么标题要叫做“Javascript 函数式编程”呢?因为学习 Rx 的关键,就是要训练自己去使用函数式的编程方法,进行各种集合操作。函数式编程可以让开发者把常见的集合操作,抽象成一个个可重用的,可组合的代码块。你会惊讶的发现,绝大部分集合操作都可以用下面这五个简单的函数来实现:
- map
- filter
- mergeAll
- reduce
- zip
我向你打包票,如果你掌握了这五个函数,你的代码会变得更精简,更有表达能力,而且更易于维护。而且,现在看起来可能不是很明显,但是实际上这五个函数式简化异步编程的关键。当你完成了这个教程之后,你就也掌握了必要的方法,可以做到避免竞态,传播和处理异步错误,处理串行的事件和 AJAX 请求等等。一句话,这五个函数可能是你这辈子学到的所有函数中最强大,最灵活,最有用的。