当前位置: 首页 > wzjs >正文

邢台柏乡县建设局网站wordpress四川华体

邢台柏乡县建设局网站,wordpress四川华体,网络工程师中级证书,网上开店怎么找货源问题描述 最近维护一个老项目,发现项目中有大量重复代码,特别是websocket的调用这一块,同样的代码复制了十几个页面,于是自己封装了一个websocket调用的构造函数。 export default class CreateWebSocket {constructor(url) {//…

问题描述

最近维护一个老项目,发现项目中有大量重复代码,特别是websocket的调用这一块,同样的代码复制了十几个页面,于是自己封装了一个websocket调用的构造函数。

export default class CreateWebSocket {constructor(url) {// ws地址this.url = url;// 定义ws对象this.ws = null;// ws定时器this.wsTimer = null;this.onDataReceived = null;this.wsInit();}// 初始化wswsInit = () => {// 销毁wsthis.wsDestroy();// 初始化wsthis.ws = new WebSocket(this.url);// ws连接建立时触发this.ws.addEventListener("open", this.wsOpenHanler);// ws服务端给客户端推送消息this.ws.addEventListener("message", this.wsMessageHanler);// ws通信发生错误时触发this.ws.addEventListener("error", this.wsErrorHanler);// ws关闭时触发this.ws.addEventListener("close", this.wsCloseHanler);};wsOpenHanler = (event) => {console.log("ws建立连接成功");};wsMessageHanler = (e) => {console.log("接收数据", e);//方法1// var event = new CustomEvent("onMessage", { detail: e });// this.ws.dispatchEvent(event);//方法2this.onDataReceived && this.onDataReceived(e);};getData = (callback) => {this.onDataReceived = callback;};//断开重连reconnect = () => {this.wsTimer && clearTimeout(this.wsTimer);this.wsTimer = setTimeout(() => {this.wsInit();}, 5000);};wsErrorHanler = (event) => {console.log(event, "通信发生错误");this.reconnect();};wsCloseHanler = (event) => {console.log(event, "ws连接关闭");this.reconnect();};wsDestroy = () => {if (this.MyWebSocket !== null) {this.ws.removeEventListener("open", this.wsOpenHanler);this.ws.removeEventListener("message", this.wsMessageHanler);this.ws.removeEventListener("error", this.wsErrorHanler);this.ws.removeEventListener("close", this.wsCloseHanler);this.ws.close();this.ws = null;this.wsTimer && clearTimeout(this.wsTimer);}};
}

页面调用

const socket = new Create('ws://190.201.8.203:80');
//方法一
socket.ws.addEventListener('onMessage', (event) => {//此处写接收到数据后的处理逻辑            
})
//方法二
socket.getData(data=>{//此处写接收到数据后的处理逻辑
})

注意
离开页面一定要卸载ws

socket && socket.wsDestroy(); 
http://www.dtcms.com/wzjs/811595.html

相关文章:

  • 山东专业网站开发公司公关公司排行榜
  • dedecms行业门户网站模板国家网站标题颜色搭配
  • 天津建设教育培训中心网站wordpress远程下载
  • 固定ip如何做网站服务器网站建设课程设计文献综述
  • 泰州模板建站哪家好深度网营销型网站建设公司怎么样
  • 新站seo快速排名 排名设计网站中如何设置特效
  • dedecms手机网站网站建设 熊掌号
  • 唐河网站建设全国最火的加盟项目
  • 深圳三玉网站建设苍南最新发布请配合
  • 福州seo网站建设宣传类的网站
  • 网站举报能不能查到举报人企业网络营销策略
  • 西安网站开发建设华为sdn企业解决方案
  • 网站建设价格标准渠道外贸营销单页网站
  • jsp网站开发与数据库连接优秀的国内企业网站
  • 0网站建设公司宣传册如果给公司做网站
  • 关于网站建设的合同协议书网络营销策划书5000字
  • 前台网站建设群辉怎么做网站
  • 吴忠公司做网站wordpress大学 主题
  • 黑龙江省城乡和住房建设厅网站首页管理系统中计算机应用实践考试
  • 农产品电子商务网站建设wordpress调用js函数
  • mcms怎么做网站网站主体变更
  • 制作网站需要学什么软件企业网站的建立标准
  • 旅社网站建设怎么做自己优惠券网站
  • 南乐县住房和城乡建设局网站大连比较好的的网站建设公司
  • 手机网站开发要多久网站都需要续费吗
  • 建设银行个人网站显示不了动画毕业设计代做网站
  • 用台式机做网站服务器wordpress 4.8 wpmu
  • 站长之家关键词查询wordpress文章到qq群
  • 做易经类的网站建设手机银行
  • 做网站代运营如何寻找客户成都网站开发建设公司