慢板协奏曲 2023-07-29 13:31 采纳率: 33.3%
浏览 20
已结题

后端利用sse技术发给我前端事件流,发了很多次,我只接收到一次,并且数据被合并,这是为什么?

最近在做聊天打字机效果,也就是希望字是一个一个被收到并展示的,而不是一次性返回给我展示,所以用到了sse。
现在的情况是似乎定位到是代理的问题,但是不确定具体是什么原因。
1.我的主项目A用的是webpack5自己从头配置的,本地调试只能接收到一个事件,数据被合并
2.我用vue-cli3搭了个demo做测试,接口是正常的,能接收到多个事件。vue-cli3是webpack4对吧?
3.我把项目放到线上,线上用的是nginx做的反向代理,接口同样正常。
所以现在只有我A本地调试的时候不正常,到底是为什么呢。
代理没做什么复杂的配置,看不出什么区别
图1,A项目代理

img

图2,vue-cli3代理

img

请求接口用的是fetch

new promise(resolve=>{    
  fetch(`url`, {
    method: 'POST',
    headers: { 'Content-Type': 'application/json' },
    body: JSON.stringify(params),
  }).then(res => {
    const reader = res.body.pipeThrough(new TextDecoderStream()).getReader();
    resolve(reader);
  });})

拿到reader之后处理逻辑

  while (true) {
    let { value, done } = await reader.read();
    console.log(value);
    if (done) {
      break;
    }}

  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 8月6日
    • 创建了问题 7月29日

    悬赏问题

    • ¥15 算法: 在随机数量点中找到两条长度最相似且不交叉的线
    • ¥15 三分类机器学习模型可视化分析
    • ¥15 本地测试网站127.0.0.1 已拒绝连接,如何解决?(标签-ubuntu)
    • ¥50 Qt在release捕获异常并跟踪堆栈(有Demo,跑一下环境再回答)
    • ¥30 python,LLM 文本提炼
    • ¥15 关于将inet引入的相关问题
    • ¥15 关于一个倒计时的操作和显示设计
    • ¥15 提问STK的问题,哪位航天领域的同学会啊
    • ¥15 苹果系统的mac m1芯片的笔记本使用ce修改器使用不了
    • ¥15 单相逆变的电压电流双闭环中进行低通滤波PID算法改进