12

我的前端有一个 EventSource 侦听器,调用了一个复杂的后端方案。此代码块是用 Typescript 编写的。

import * as EventSource from 'eventsource';      

private streamData() {
    let source = new EventSource('http://localhost:3000/websocket/server/stream');

    source.onopen = (e) => {

    };

    source.onmessage = (e) => {
      console.log('id: ' + (<any>e).lastEventId + '; type: ' + e.type + ' data: ' + e.data);
    };
  }

我将以下响应发送回我的服务器:

res.write('id: ' + this.messageId++ + '\n');
res.write('type: message\n');
res.write('data: ' + message + '\n\n');
res.flush();

现在,在 Chrome 控制台上,我得到了所有需要的数据。 在此处输入图像描述

但是,在 xhr 监视器上,我看不到 EventStream 数据。

在此处输入图像描述

我在前端获得信息,所以这对我来说不是阻塞问题,但可能会在稍后的调试中造成一些问题。

4

1 回答 1

10

我遇到过同样的问题。仅当您使用 EventSource 类的内置浏览器实现时,才在使用 eventsource polyfill 时显示数据。

于 2019-11-08T15:16:35.243 回答