javascript - 事件流数据未显示在 Chrome 控制台中
问题描述
我的前端有一个 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();
但是,在 xhr 监视器上,我看不到 EventStream 数据。
我在前端获得信息,所以这对我来说不是阻塞问题,但可能会在稍后的调试中造成一些问题。
解决方案
我遇到过同样的问题。仅当您使用 EventSource 类的内置浏览器实现时,才在使用 eventsource polyfill 时显示数据。
推荐阅读
- macos-mojave - 如何解决登录屏幕上的问号?
- java - 如何在 FTPClient 中更改目录。单个 FTPClient InputStream 中的多个目录连接。未知解析器类型:“/Path”是当前目录
- http - http.FileServer 只服务于 index.html
- python - 在一系列数字上绘制数字列表
- java - 无法将另一个目录中的类用于主 java 程序
- python - 无法在 jupyter 笔记本中导入 fastparquet
- python - Mac pycharm无法安装lxml包
- java - MapStruct:基于(布尔)值排除属性
- tensorflow - Google Colab GPU 加速适用于 2.x,但不适用于 1.x
- python - 如何在 settings.py 之外调用环境变量?