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

vue处理接口返回EventStream数据并进行展示

1、在 Vue 组件中连接外部 SSE 接口

HTML:

<template>
	<div class="ceshi-wrap">
		<h3 style="color:red;">来自本地文件的 SSE 流数据:</h3>
		-----
		<ul>
			<li v-for="item in messages" :key="item.id">
				<span v-for="item1 in item" :key="item1.delta.timestamp" v-html="item1.delta.content" style="white-space: pre;">
				</span>
			</li>
		</ul>
		+++++
	</div>
</template>

JS:

mounted() {
	// http://localhost:3001/sse-stream 为返回EventStream数据的地址
  	const eventSource = new EventSource('http://localhost:3001/sse-stream');
  
	// 监听消息事件
	eventSource.onmessage = (event) => {
		const data = JSON.parse(event.data);
		this.messages.push(data.choices);
	};

	// 监听错误并关闭连接
	eventSource.onerror = (error) => {
		console.error('SSE Error:', error);
		eventSource.close();
	};

	// 组件销毁时关闭连接(避免内存泄漏)
	this.$once('hook:beforeDestroy', () => {
		eventSource.close();
	});
}

2、验证:启动vue项目

npm run serve

在这里插入图片描述

说明:
1)自动重连
EventSource 默认会在断开后尝试重连,可通过 eventSource.close() 手动关闭。

2)在使用v-html最后展示时,会把空格去掉,想要让空格正常显示的话,可以添加css:

white-space: pre;

相关文章:

  • TI的Doppler-Azimuth架构(TI文档)
  • 负载均衡中四层和七层协议区别
  • 机器人触觉的意义
  • mysql学习-删除数据(drop、truncate、delete)
  • vulnhub-Hackme-隧道建立、SQL注入、详细解题、思路清晰。
  • Java程序的逻辑控制
  • 二阶优化方法详解
  • 初识Linux(14)Ext系列⽂件系统
  • PyTorch 系列教程:探索自然语言处理应用
  • 第二十八天 高级UI组件,如列表、网格、下拉刷新
  • [特殊字符]我开发了一个AI智能体,自动筛出有效数据![特殊字符]
  • Windows11【1001问】打开Windows 11控制面板的14种方法
  • String类型为什么不可变
  • 罗德与施瓦茨ZV-Z95,网分测试电缆
  • 软考之项目立项管理
  • Qt从入门到入土(十) -数据库操作--SQLITE
  • 在线教育网站项目第四步 :学习Vue3 + Nuxt3+springcloud,服务器为ubuntu24.04
  • React19源码系列之createRoot的执行流程是怎么的?
  • 裸机开发-GPIO外设
  • 架构师面试(十五):熔断设计
  • 无人机企业从科技园区搬到乡村后,村子里变得不一样了
  • CBA官方对孙铭徽罚款3万、广厦投资人楼明停赛2场罚款5万
  • 国内规模最大女子赛艇官方赛事在沪启航,中外41支队伍逐浪
  • 陈刚:推动良好政治生态和美好自然生态共生共优相得益彰
  • 梅花奖在上海|湘剧《夫人如见》竞梅,长沙文旅来沪推广
  • 本周看啥|《歌手》今晚全开麦直播,谁能斩获第一名?