Angular中默认用了Rxjs。所以我们也要学习一下。
首先何为响应式编程:就是异步数据编程。他是以观察者模式为核心。
比如针对按钮点击事件我们做些逻辑编写。在这里我们可以正对任何对象,比如一个变量的改变了,一个数组内容等等。如在游戏中我们监听玩家的生命值如果为0了,那就要处理一堆死亡逻辑。
观察者模式是什么我就不讲了,对于一个有编程经验的人来说,没什么好讲的。
这里只记录一下观察者模式的写法。
var subscription= Observable.from([1,2,3,4])
.filter((e) => e%2 == 0)
.map((e) => e*e)
.subscribe(
e => console.log(e),
error => console.error(error),
() => console.log("结束啦")
);
- 可观察对象Observable(流):表示一组值或者事件的集合。
- 观察者Observer: 一个回调函数集合,它知道怎么样去坚挺被Observable发送的值。
- 订阅Subscription:表示一个观察对象,主要用于取消观察注销。
- 操作符Operators:存粹的函数,使开发者可以以函数编程的方式处理集合。(.filter/.map)
取消注册方法如下:
subscription.unsubscribe();