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()}
})
相关文章:
EventSource的使用
什么是EventSource EventSource 是一个用于服务器推送事件(Server-Sent Events, SSE)的接口,它允许服务器推送实时更新到浏览器。与 WebSocket 不同,SSE 是单向的(服务器到客户端),适用于更新频…...
【第12章:深度学习与伦理、隐私—12.3 深度学习模型的透明性与可解释性提升策略】
凌晨三点的ICU病房,AI辅助诊断系统将一位患者的肺炎误判为普通感冒——当主治医生要求查看诊断依据时,系统只能给出冷冰冰的概率数值。这场惊心动魄的误诊事件,掀开了深度学习可解释性危机的冰山一角。 一、模型透明的"第一性原理" 1.1 可解释性的三维度量 