最近初学angular2,请问angular2里面的“订阅”是什么意思

ddee
  • 121

最近初学angular2,请问angular2里面的“订阅”是什么意思

回复
阅读 2.6k
3 个回答
✓ 已被采纳

发布订阅,简单说就是观察者模式。
"订阅"必然意味着又发布这个动作。以http为例:

this.http.post(url, body, ops).subscribe(data => {
     里面是订阅post请求后触发的内容
     ...
    });

这是你订阅的一个post的请求,当你触发(发布)了一个http请求之后,就会执行你提前订阅好想执行的东西,有点像成功之后的回调, 包括但不限于http。

和原生JS事件监听一个意思,不过美其名曰订阅/发布模式,或者叫观察者模式。

原生JS,比如你监听了一个onclick事件,那么触发onclick事件后进行回调的函数就和你这里的订阅一个意思,都是指动作发生后,需要执行的回调函数。

这个订阅模式在angular里面结合rxjs主要是用来做http请求,是promise的增强版,更重要是通过这种模式可以实时获取新的数据来渲染页面(用websocket进行双向通信就很明显),可以说是angular实现数据状态管理的一种方案,类似于React当中的Mobx一样,都是响应式编程概念。

宣传栏