vue中再搞一下SSE的使用

什么是SSE:

SSE是一种基于HTTP协议的服务器向客户端单向推送数据的技术。它通过长连接保持通信,数据格式为文本流,支持自动重连,且兼容现代浏览器。

sse.js文件

javascript 复制代码
export default class TunnelSSE {
  sse = null
  constructor() {
  }
  //创建链接
  create({ userId, tunnelId }) {
    if (this.sse) {
      this.close();
    }
    this.sse = new EventSource(`${process.env.VUE_APP_BASE_API}/sse/thirdApi/deviceFeedback/connect/${userId}/${tunnelId}`)
    return this.sse;
  }
  //关闭
  close() {
    this?.sse?.close();
  }
}

xxx.vue使用

ini 复制代码
import TunnelSSE from "disp/src/api/sse";
const tunnelSse = new TunnelSSE();

const createSSEFn = () => {
  console.log(instance.$store.getters.userInfo.USER_CODE, "sseHander");
  const sseHander = tunnelSse.create({
    userId: instance.$store.getters.userInfo.USER_CODE,
    tunnelId: currentTunnel.value,
  });
  sseHander.onopen = (e) => {
    console.log("连接成功", e);
  };
  sseHander.onmessage = (e) => {
    try {
      const data = JSON.parse(e.data);
      console.log("message", data);
    } catch (error) {}
    // console.log(data, "data");
  };
};
相关推荐
普通网友1 天前
前端安全攻防:XSS, CSRF 等防范与检测
前端·安全·xss
携欢1 天前
PortSwigger靶场之Reflected XSS into attribute with angle brackets HTML-encoded通关秘籍
前端·xss
小爱同学_1 天前
React知识:useState和useRef的使用
前端·react.js
再学一点就睡1 天前
双 Token 认证机制:从原理到实践的完整实现
前端·javascript·后端
wallflower20201 天前
滑动窗口算法在前端开发中的探索与应用
前端·算法
蚂蚁绊大象1 天前
flutter第二话题-布局约束
前端
龙在天1 天前
我是前端,scss颜色函数你用过吗?
前端
Mapmost1 天前
单体化解锁3DGS场景深层交互价值,让3DGS模型真正被用起来!
前端
幻灵尔依1 天前
前端编码统一规范
javascript·vue.js·代码规范
欢脱的小猴子1 天前
VUE3加载cesium,导入czml的星座后页面卡死BUG 修复
前端·vue.js·bug