eventbus如何在Angular5中使用

这篇文章将为大家详细讲解有关eventbus如何在Angular5中使用,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

1.package.json中

eventbus如何在Angular5中使用

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

然后 npm install,或者:

npminstallvertx3-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:

declarevarEventBus:any;

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

//创建实例
vareb=newEventBus('http://localhost:8080/eventbus');

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

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

}

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

注:

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

代码实例如下:

RegisterHandler(key,id,callback){
constaddress='***.'+key+'.'+id;
if(typeof(this.eventBus[key])==='undefined'||!this.eventBus[key]){
this.eventBus[key]=newEventBus(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){
vardata='';
constaddress=***.'+key+'.'+id;
if(typeof(this.eventBus[key])==='undefined'||!this.eventBus[key]){
this.eventBus[key]=newEventBus(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;
}

关于eventbus如何在Angular5中使用就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

发布于 2021-04-08 13:37:39
收藏
分享
海报
0 条评论
162
上一篇:如何在微信小程序中使用form表单组件 下一篇:使用D3.js怎么构建一个实时图形
目录

    0 条评论

    本站已关闭游客评论,请登录或者注册后再评论吧~

    忘记密码?

    图形验证码