# streamMixin
# 功能说明
提供 SSE (Server-Sent Events) 数据解析和中断功能,支持以下特性:
- 支持 SSE 数据流解析和处理
- 支持流式请求的中断控制
- 自动处理流数据状态
- 错误处理机制
- 支持自定义转换流
# 导入和使用
import { streamMixin } from 'vue-element-ui-x';
export default {
mixins: [streamMixin],
// ...
};
说明
以下示例的导入方式是解决文档站打包时的报错,正常情况下请按正常的方式导入即可
# 使用示例
# SSE 流式数据示例
展示如何处理 SSE 流式数据,并在 Bubble 组件中展示 Markdown 内容。
复制代码
# SIP 协议数据处理示例
展示如何处理 SIP 协议的流式数据,并使用自定义转换流。
复制代码
# 混入属性
| 参数 | 说明 | 类型 | 默认值 |
|---|---|---|---|
| streamData | 流数据数组 | Array | [] |
| streamError | 流错误信息 | Error | null |
| streamLoading | 流处理状态 | Boolean | false |
# 混入方法
| 方法名 | 说明 | 参数 | 返回值 |
|---|---|---|---|
| startStream | 启动流式请求 | options: { readableStream, transformStream } | Promise |
| cancelStream | 中断流式请求 | - | - |
| resetStream | 重置流状态 | - | - |
| createStreamProcessor | 创建流处理器的便捷方法 | readableStream, transformStream | Object |
# 事件
| 事件名 | 说明 | 回调参数 |
|---|---|---|
| stream-data | 收到新数据时触发 | item: 流数据项 |
| stream-complete | 流完成时触发 | data: 所有流数据 |
| stream-error | 流错误时触发 | error: 错误对象 |
| stream-finish | 流处理结束时触发 | - |
| stream-cancel | 流被中断时触发 | - |
# 注意事项
- 该混入依赖现代浏览器的 Streams API,使用前请确保浏览器支持。
- 流处理过程中产生的错误会通过
streamError属性和stream-error事件提供。 - 在组件销毁时会自动清理相关资源。
- 自定义转换流需要实现
transform和可选的flush方法。