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

广州市外贸网站建设企业公司设计网站需要多少钱

广州市外贸网站建设企业,公司设计网站需要多少钱,wordpress本地更新,域名网站教程今天不睡,熬夜赶了个WebSocket 二次封装,也对这几天文章摸鱼感到抱歉,所以我出了一个注释非常非常全的代码 思路如下 首先,需要通过调用connect方法来建立WebSocket连接。当连接成功时,会调用我提供的回调函数,并将连接成功的消息帧作为参数…

今天不睡,熬夜赶了个WebSocket 二次封装,也对这几天文章摸鱼感到抱歉,所以我出了一个注释非常非常全的代码

思路如下
首先,需要通过调用connect方法来建立WebSocket连接。当连接成功时,会调用我提供的回调函数,并将连接成功的消息帧作为参数传递给它。在回调函数中,我们可以打印消息帧到控制台中。如果连接失败,则会执行catch回调函数,并打印错误信息到控制台中。

一旦连接成功,可以继续执行订阅主题的操作。通过调用subscribe方法,可以订阅一个特定的主题。当接收到消息时,会调用提供的回调函数,并将解析后的数据作为参数传递给它。在回调函数中,可以打印收到的数据到控制台中。如果订阅失败,则会执行catch回调函数,并打印错误信息到控制台中。

看在这么全的份上,请点个赞,不懂得可以问博主,看到会回

// 定义一个名为WebSocketClient的类  
class WebSocketClient {  // 构造函数,接收一个url作为参数,用于初始化WebSocketClient对象  constructor(url: string) {  // 将传入的url赋值给this.url,保存url的信息  this.url = url;  // 初始化socket属性为null,表示尚未建立WebSocket连接  this.socket = null;  // 初始化stompClient属性为null,表示尚未建立Stomp客户端连接  this.stompClient = null;  }  // 定义一个名为connect的方法,用于建立WebSocket连接并返回Promise对象  connect() {  // 返回一个新的Promise对象,Promise的参数是一个函数,该函数接收resolve和reject两个参数  return new Promise<void, Error>((resolve, reject) => {  try {  // 创建一个新的SockJS实例,使用this.url作为参数,尝试建立WebSocket连接  this.socket = new SockJS(this.url);  // 使用已建立的WebSocket连接创建一个Stomp客户端,stompClient属性保存这个客户端的引用  this.stompClient = Stomp.over(this.socket);  // 设置stompClient的debug属性为null,关闭日志输出    this.stompClient.debug = null; // 关闭日志      // 使用stompClient的connect方法进行连接,传入空回调函数和错误回调函数  this.stompClient.connect({}, (frame: { [key: string]: any }) => { // 当连接成功时,回调空回调函数,并将连接成功的消息帧传递给resolve参数  resolve(frame);  }, function (error) {  // 当连接失败时,回调错误回调函数,并将错误信息传递给reject参数  reject(error);  });  } catch (error) {  // 如果在尝试建立WebSocket连接或Stomp客户端的过程中抛出错误,将错误信息传递给reject参数  reject(error);  }  });  }  // 定义一个名为subscribe的方法,用于在已建立的连接上订阅主题并返回Promise对象  subscribe(topic: string) {  // 返回一个新的Promise对象,Promise的参数是一个函数,该函数接收resolve和reject两个参数  return new Promise<any, Error>((resolve, reject) => {  try {  // 使用已建立的stompClient和给定的主题进行订阅,传入一个回调函数和错误回调函数  this.stompClient.subscribe(topic, (data: any) => {  // 当接收到消息时,回调回调函数,并解析消息体为JSON格式的数据,然后打印到控制台中  var dataGm = JSON.parse(data.body);  console.log('数据', dataGm);  // 将解析后的数据传递给resolve参数,表示订阅成功完成  resolve(dataGm);  });  } catch (error) {  // 如果在尝试订阅主题的过程中抛出错误,将错误信息传递给reject参数  reject(error);  }  });  }  
}  

调用就像下面这样调用就好了

	// 使用示例:    let socketUrl: string = "http://192.168.1.38:8080/gs-guide-websocket";  let client: WebSocketClient = new WebSocketClient(socketUrl);  client.connect().then((frame: { [key: string]: any }) => {  console.log('连接成功', frame);  }).catch((error: Error) => {  console.error('连接失败', error);  });  client.subscribe('/topic').then((dataGm: any) => {  console.log('订阅成功', dataGm);  }).catch((error: Error) => {  console.error('订阅失败', error);  });
http://www.yayakq.cn/news/791294/

相关文章:

  • 网站后台版权桐乡建设局网站
  • 外贸网站平台下载网站美术视觉效果布局设计
  • 网站域名注销备案网站建设什么因素最重要性
  • 南宁建设网站公司wordpress研究机构主题
  • 精品建设课程网站企业管理平台app安卓版
  • 完整企业网站模板法律网站建设价格
  • 合肥网站建设久飞网站群建设技术方案
  • 一个论坛网站应该怎么做nodejs 如何做网站后端
  • 福田网站优化自己做电影网站可以赚钱吗
  • 网站为什么被百度k了加强企业网站建设的通知
  • 小程序做网站登录韩语网站建设
  • 做网站第三方登录怎么弄好的做彩平图的网站
  • 西安知名网站制作公司网站建设价格女
  • 什么平台可以做网站推广百度关键词点击
  • 如何实现输入域名访问网站首页视频网站怎么做统计
  • php企业网站后台管理系统wordpress多主题插件下载
  • 制作微网站公司专门做动漫的网站吗
  • 阿里国际站韩语网站怎么做站长工具网址查询
  • 国外外贸平台seo 整站优化
  • 网站 选项卡 图标怎样免费做网站推广
  • 网站营销队伍上网导航网页是哪家公司
  • 双语网站建设方案舟山公司注册
  • 寮步营销型网站建设网店交易平台网站建设
  • 张家港建设局网站网页设计素材代码
  • 网站建设2017国内排行WordPress投票主题系统
  • 专业设计网址青岛网站开发郑州建站网
  • 澄江网站制作律师事务所网站建设重要性
  • 营销型网站建设一般多少钱wordpress 原创
  • 哪个网站可以做室内设计网站开发怎么报价
  • 做期货网站北京展板设计制作公司