SSE
规划 API: 本页说明 SSE 的最终用户用法。
commflow@0.0.2尚未导出 SSE runtime;不要将本页 import 当作当前生产导入。当前可运行导出见 当前版本快速开始。
适用场景
SSE 适合服务端向客户端持续推送事件:
创建 SSE client
订阅事件
订阅返回的 stream 必须提供关闭能力,用户可以在页面卸载、服务关闭或业务完成时释放连接。
处理事件类型
推荐按事件类型分支处理,不要把所有消息都塞进一个无结构字符串。
鉴权与 Last-Event-ID
重连策略
SSE 断线不一定是业务失败,可能只是网络抖动。建议:
状态模型:
关闭与资源释放
必须释放的场景:
- 前端组件卸载。
- 服务端 request lifecycle 结束。
- 用户切换 tenant、project 或 topic。
- 任务已完成,不再需要进度事件。
错误处理
SSE 错误需要区分:
更多错误模型见 错误与重试。
不适合 SSE 的场景
如果需要客户端持续发送消息、房间广播、二进制数据或强交互实时通道,应使用 Socket,不要用 SSE 模拟双向协议。