Jhipster之angular的websocket解析
2018-08-08 本文已影响0人
燕凯凯
Jhipster版本 4.14.5
websocket启动
使用jhipster命令生成带websocket的单体应用
在ng初始化,自动注入JhiTrackerService,constructor方法创建了2个异步对象 this.connection 和 this.listener
![](https://img.haomeiwen.com/i8365092/e5d0b94cc189554d.png)
![](https://img.haomeiwen.com/i8365092/a92ff1d16fe00b31.png)
注意:Promise和Observable的区别在于Promise的方法先执行,Observable的方法在调用subscribe之后执行
初始化成功,在执行登录操作时,将调用connect() 进行websocket连接操作
如何订阅和监听
在管理员打开 用户实时状态 页面,
![](https://img.haomeiwen.com/i8365092/87bfe31d5491b77f.png)
ngOnInit方法被执行,
![](https://img.haomeiwen.com/i8365092/4c950b23d9966b64.png)
此处执行subscribe和receive两个方法,receive获取到listener并执行subscribe此时对this.listenerObserver赋值Subscribe对象
![](https://img.haomeiwen.com/i8365092/78638cd3e336ad2b.png)
所以
![](https://img.haomeiwen.com/i8365092/4f70e7c356e8a4ce.png)
才能正确执行,而next执行的内容正是
![](https://img.haomeiwen.com/i8365092/c58c0cee86408f39.png)
控制页面上的数据显示,代码如下
![](https://img.haomeiwen.com/i8365092/96dd234adacfba4f.png)