Skip to content

介绍

这个钩子函数,可以让用户更方便的控制 流式请求。提供 发起请求中断请求 ,返回 loading 请求状态,返回 SSE 协议 实时的数据流,返回请求 error 信息。

INFO

目前只测试了 SSE 和 SIP 协议请求,其他协议的请求还有待测试,如果您好的想法和发现,欢迎进交流群 👨‍👩‍👧‍👧 交流群,与我们取得联系,欢迎交流方案,提交 issue 和 pr。提交规范请阅读 👉 开发文档

代码演示

WARNING

这个 hooks 的解析规则在内部做了处理。请放心使用

sseEventPart 'event: message\ndata: {"id":"${i}","content":"${contentChunks[i]}"}\n\n'

ts
// 数据流默认分隔符(使用两个换行符,分割一条流数据)
const DEFAULT_STREAM_SEPARATOR = '\n\n';
// 分段默认分隔符(使用单个换行符,换行当前数据)
const DEFAULT_PART_SEPARATOR = '\n';
// 键值对默认分隔符(使用冒号)
const DEFAULT_KV_SEPARATOR = ':';

返回钩子

属性名说明类型
startStream开始请求流模式接口(options: XStreamOptions) => Promise<void>
cancel中断流式请求() => void
isLoading是否正在请求流式数据Ref<boolean>
data实时返回的流式数据Ref<SSEOutput[]>(每项形如 { data, event, id, retry }
error流式请求报错信息Ref<Error | null>

startStream 的入参为 { readableStream, transformStream? }