这算不算 EventSource 的一个坑

14 天前
 rulai
给朋友做一个 chatgpt 流式输出的功能,后端 springboot 传输的数据前面都有一个空白符号,但是前端 vue 收到的数据空格都没有了,换成 EventSourcePolyfill 也是一样,哪位老哥知道怎么解决吗













571 次点击
所在节点    问与答
5 条回复
zsh2517
14 天前
包装一下,比如做成 JSON 或者 base64 ?
hsuvee
14 天前
前端别用 EventSource 库,直接 fetch 发请求
445141126
14 天前
sse 的第一个空格会被吃掉, 你再加一个空格应该就可以了

`If value starts with a U+0020 SPACE character, remove it from value.`
avadakur
14 天前
可以尝试下 @microsoft/fetchEventSource 这个包 ,用起来比原生的好用些
rulai
14 天前
@avadakur 原生的 EventSource,EventSourcePolyfill 还有 fetchEventSource 都试过,空格都被截取掉,
@zsh2517 JSON 格式可以
@445141126 还真的是,字符串前面自己加个空格就可以了
感谢 !

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1078845

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX