VUE_SSE_js接收读取stream流
在Vue.js中使用EventSource实现服务器发送事件(SSE)的简单例子:
- 首先,确保你的后端支持SSE,并且能够提供一个URL来作为你的stream源。
- 在你的Vue组件中,创建一个EventSource实例来接收stream数据。
<template>
<div>
<div v-for="event in events" :key="event.id">{{ event.data }}</div>
</div>
</template>
<script>
export default {
data() {
return {
events: [],
source: null,
};
},
created() {
this.connectStream();
},
methods: {
connectStream() {
this.source = new EventSource('你的SSE流URL');
this.source.onmessage = (event) => {
const data = JSON.parse(event.data);
this.events.push(data);
};
this.source.onerror = (error) => {
console.error(error);
};
},
},
beforeDestroy() {
this.source.close(); // 清理stream资源
},
};
</script>
在上面的代码中,我们在组件的created
生命周期钩子中建立了一个到SSE流的连接,并且在onmessage
事件中处理接收到的数据。当组件销毁时,在beforeDestroy
生命周期钩子中关闭了EventSource,以确保不会产生内存泄漏。这个例子假设你的SSE流发送的是JSON格式的数据。
评论已关闭