事件流数据未显示在 Chrome 控制台中

pla*_*avz 10 javascript http event-stream google-chrome-devtools typescript

我的前端有一个 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);
    };
  }
Run Code Online (Sandbox Code Playgroud)

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

res.write('id: ' + this.messageId++ + '\n');
res.write('type: message\n');
res.write('data: ' + message + '\n\n');
res.flush();
Run Code Online (Sandbox Code Playgroud)

现在,在 Chrome 控制台上,我获得了所有需要的数据。 在此处输入图片说明

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

在此处输入图片说明

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

小智 9

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