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

EventSource的使用

什么是EventSource
EventSource 是一个用于服务器推送事件(Server-Sent Events, SSE)的接口,它允许服务器推送实时更新到浏览器。与 WebSocket 不同,SSE 是单向的(服务器到客户端),适用于更新频率不高的实时通知、消息推送等场景。下面是关于 EventSource 的详细介绍,包括使用示例和注意事项。

基本概念:服务器向客户端推送实时更新,而不需要客户端发起请求。
使用案例
(使用场景:前端页面需要一次性渲染大数据量时,不能一次性返回,需要服务器不断向前端推送)

  const pageSize = '1000';
    const cstId = params;
    const pageNum = '1';
    const url = `${process.env.VUE_APP_BASE_URL}api/gksk-fund-claim-web/n-fin-ar-demo/210/async?pageSize=${pageSize}&cstId=${cstId}&pageNum=${pageNum}`;
    eventSource.value = new EventSource(url)
    eventSource.value.onmessage = (event) => {
        try {
          const message = JSON.parse(event.data);
          const dataAll = []
          if (message.code === 'DONE') {
            eventSource.value?.close()
            return
          }
          dataAll.push(message.data ? message.data : []);
          dataAll.forEach((item: any) => {
            data.value = [...data.value, ...item]
          })
        } catch (error) {
          eventSource.value?.close()
          console.error('Error parsing message:', error);
        }
      };
      
      eventSource.value.onerror = (error) => {
        console.log('SSE connection error:', error);
        eventSource.value?.close()
      }
      
 //记得在离开页面前销毁,否则造成内存溢出
onUnmounted(() => {
  if (eventSource.value) {
    eventSource.value.close()
  }
})

相关文章:

  • 动态规划LeetCode-494.目标和
  • 百度千帆平台对接DeepSeek官方文档
  • |网络安全|网络安全学习方法
  • 使用deepseek快速创作ppt
  • ESP32无线Wi-Fi蓝牙方案,设备智能连接控制,物联网通信应用
  • SQL入门到精通 理论+实战 -- 在 MySQL 中学习SQL语言
  • java后端开发day14--之前练习的总结和思考
  • 面向对象编程的设计原则
  • 【鱼眼镜头12】Scaramuzza的鱼眼相机模型实操,不依赖于具体的相机几何结构,直接从图像数据出发,因此更具灵活性。
  • 爬虫瑞数5.5案例:某钢材交易官网(面向对象补环境)
  • pyrender smpl 渲染
  • 【C语言】动态内存管理
  • ElementUI表格表头自定义添加checkbox,点击选中样式不生效
  • SQL-leetcode—1661. 每台机器的进程平均运行时间
  • 在 Flutter 实现下拉刷新、上拉加载更多和一键点击回到顶部的功能
  • Vulhub靶机 ActiveMQ 反序列化漏洞(CVE-2015-5254)(渗透测试详解)
  • webpack和vite打包原理及比较
  • PostgreSQL的学习心得和知识总结(一百六十八)|深入理解PostgreSQL数据库之PostgreSQL 规划器开发与调试(翻译)
  • HCIA项目实践--静态路由的综合实验
  • MySQL单表存多大的数据量比较合适
  • 云南省安委会办公室:大理州安全生产形势比较严峻,事故总量一直居高不下
  • 上财发布“AI+课程体系”,人工智能如何赋能财经教育?
  • 马云再次现身阿里打卡创业公寓“湖畔小屋”,鼓励员工坚持创业精神
  • 东方红资管官宣:41岁原国信资管董事长成飞出任新总经理
  • 数理+AI+工程,上海交大将开首届“笛卡尔班”招生约20名
  • 视频丨习近平同普京会谈:共同弘扬正确二战史观,维护联合国权威和地位