2.0.0
Skip to content

XStream ​

把 ReadableStream<Uint8Array> 收成可异步迭代的记录。不传 transformStream 时按 SSE 拆:空行分隔事件,: 分隔字段名和值。

ts
import { XStream } from 'ant-design-x-vue';

for await (const chunk of XStream({ readableStream })) {
  console.log(chunk);
}

readableStream 不是 ReadableStream 时抛出 The options.readableStream must be an instance of ReadableStream.

默认协议 - SSE ​

默认协议 - SSE

用内存里的 SSE 片段拼出 Hello, world!,不发网络请求。

自定义协议 ​

自定义协议

传入 transformStream,按自定义协议(SIP/SDP 文本)逐块读取。

API ​

XStreamOptions ​

属性说明类型默认值版本
readableStream二进制可读流ReadableStream<Uint8Array>--
transformStream自定义 TransformStream;不传时使用默认 SSE 转换TransformStream<string, T>sseTransformStream-
ts
type SSEFields = 'data' | 'event' | 'id' | 'retry';
type SSEOutput = Partial<Record<SSEFields, any>>;

type XReadableStream<R = SSEOutput> = ReadableStream<R> & AsyncGenerator<R>;

function XStream<Output = SSEOutput>(
  options: XStreamOptions<Output>,
): XReadableStream<Output>;

1.x 页面仍在 XStream 流。2.0 的调用形式相同,实现来自 @ant-design-x-vue/x-sdk。