Angular5集成eventbus的示例代码


Posted in Javascript onJuly 19, 2018

1.package.json中

"dependencies": {
   ...
  "vertx3-eventbus-client": "3.5.2",
 },

然后  npm install,或者:

npm install vertx3-eventbus-client@3.5.2

2.angular-cli.json中

"scripts": [
     ...
    "../node_modules/vertx3-eventbus-client/vertx-eventbus.js"
   ],

3.创建一个eventbus.service.ts用来通信

导入eventbus:

import { EventBus } from 'vertx3-eventbus-client';

声明eventbus:

declare var EventBus: any;

4.创建eventbus实例,监听接口以及发送消息

//创建实例
var eb = new EventBus('http://localhost:8080/eventbus');

eb.onopen = function() {
 //注册监听器用来接受消息
 eb.registerHandler('some-address', function(error, message) {
  console.log('received a message: ' + JSON.stringify(message));
 });

 //发送消息
 eb.send('some-address', {name: 'tim', age: 587});

}

更多信息请参考这里 https://vertx.io/docs/vertx-web/java/

注:

对于需要发送消息来接受的消息,需要先监听,然后再发送消息。
对于一直推送的消息,不需要发送。

代码实例如下:

RegisterHandler(key, id, callback) {
    const address = '***.' + key + '.' + id;
    if (typeof (this.eventBus[key]) === 'undefined' || !this.eventBus[key]) {
      this.eventBus[key] = new EventBus(environment.eventbusUrl);
    }
    if (this.eventBus[key].state === EventBus.OPEN) {
      this.eventBus[key].registerHandler(address, callback);
    } else {
      const $this = this;
      this.eventBus[key].onopen = function () {
        $this.eventBus[key].registerHandler(address, callback)
      }
    }
  }

Send(key, id) {
    var data = '';
    const address = ***.' + key + '.' + id;
    if (typeof (this.eventBus[key]) === 'undefined' || !this.eventBus[key]) {
      this.eventBus[key] = new EventBus(environment.eventbusUrl);
    }
    if (this.eventBus[key].state === EventBus.OPEN) {
      this.eventBus[key].send(address, data)
    } else {
      const $this = this;
      this.eventBus[key].onopen = function () {
        $this.eventBus[key].send(address, data)
      }
    }
  }

closeEventBus(key) {
    if (typeof (this.eventBus[key]) !== 'undefined' && this.eventBus[key] && this.eventBus[key].state === EventBus.OPEN) {
      this.eventBus[key].close();
    }
    this.eventBus[key] = null;
}

在组件ngOnDestroy中调用closeEventBus关闭eventbus。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Jquery Autocomplete 结合asp.net使用要点
Oct 29 Javascript
javascript smipleChart 简单图标类
Jan 12 Javascript
jquery图片延迟加载 前端开发技能必备系列
Jun 18 Javascript
jquery实现上下左右滑动的方法
Feb 09 Javascript
jQuery实现简单二级下拉菜单
Apr 12 Javascript
jQuery 判断图片是否加载完成方法汇总
Aug 10 Javascript
微信小程序之GET请求的实例详解
Sep 29 Javascript
浅谈开发eslint规则
Oct 01 Javascript
Node.js + express实现上传大文件的方法分析【图片、文本文件】
Mar 14 Javascript
Vue 页面权限控制和登陆验证功能的实例代码
Jun 20 Javascript
详解Vue 项目中的几个实用组件(ts)
Oct 29 Javascript
详解Vue中的watch和computed
Nov 09 Javascript
微信小程序实现弹出菜单
Jul 19 #Javascript
微信小程序实现之手势锁功能实例代码
Jul 19 #Javascript
React组件重构之嵌套+继承及高阶组件详解
Jul 19 #Javascript
微信小程序实现折叠展开效果
Jul 19 #Javascript
详解Angularjs 自定义指令中的数据绑定
Jul 19 #Javascript
微信小程序实现天气预报功能
Jul 18 #Javascript
vue代理和跨域问题的解决
Jul 18 #Javascript
You might like
提问的智慧
2006/10/09 PHP
PHP 存取 MySQL 数据库的一个例子
2006/10/09 PHP
基于php伪静态的实现详细介绍
2013/04/28 PHP
hadoop常见错误以及处理方法详解
2013/06/19 PHP
浅谈php扩展imagick
2014/06/02 PHP
Destoon实现多表查询示例
2014/08/21 PHP
php过滤输入操作之htmlentities与htmlspecialchars用法分析
2017/02/17 PHP
PHP实现对数字分隔加千分号的方法
2019/03/18 PHP
JS模拟的QQ面板上的多级可展开的菜单
2009/10/10 Javascript
javascript 处理事件绑定的一些兼容写法
2009/12/24 Javascript
如何用js控制frame的隐藏或显示的解决办法
2013/03/20 Javascript
javascript中的取反再取反~~没有意义
2014/04/06 Javascript
javascript屏蔽右键代码
2014/05/15 Javascript
NodeJS使用jQuery选择器操作DOM
2015/02/13 NodeJs
PHP捕捉异常中断的方法
2016/10/24 Javascript
详解js树形控件—zTree使用总结
2016/12/28 Javascript
Vue2.x中的父组件传递数据至子组件的方法
2017/05/01 Javascript
浅谈React之状态(State)
2018/09/19 Javascript
layui radio单选限制下一个radio单选的实例
2019/09/03 Javascript
[52:06]完美世界DOTA2联赛决赛日 Inki vs LBZS 第一场 11.08
2020/11/10 DOTA
python3使用urllib示例取googletranslate(谷歌翻译)
2014/01/23 Python
Python 多核并行计算的示例代码
2017/11/07 Python
Django如何在不停机的情况下创建索引
2020/08/02 Python
法国最大电子商务平台:Cdiscount
2018/03/13 全球购物
服装设计专业自荐书范文
2013/12/30 职场文书
《孔子拜师》教学反思
2014/02/24 职场文书
幼儿园小班植树节活动方案
2014/03/04 职场文书
园林专业毕业生自荐信
2014/07/04 职场文书
销售人员工作自我评价
2014/09/21 职场文书
小学生作文评语集锦
2014/12/25 职场文书
国家助学金感谢信
2015/01/21 职场文书
高校自主招生教师推荐信
2015/03/23 职场文书
单位综合评价意见
2015/06/05 职场文书
离婚财产分割协议书
2015/08/11 职场文书
2016优秀员工先进事迹材料
2016/02/25 职场文书
一条 SQL 语句执行过程
2022/03/17 MySQL