javascript - 在 Angular11 中发布 JSON 请求并读取 EventStreams
问题描述
尝试按照下面的文章阅读事件流。我没有像文章中那样使用,而是formData
使用 Json 来发布。它以 200 响应顺利运行。Even 告诉我们通过网络发送了一些 kb 的数据,但 eventstream 选项卡没有显示任何内容。同样的 curl 在我的终端上工作。
https://medium.com/swlh/how-do-server-sent-events-sse-or-eventsource-work-in-angular-e9e27b6a3295
解决方案
如文章所示
return Observable.create((observer) => {
const eventSource = this.sseService.getEventSourceWithPost(url, data);
// Launch query
eventSource.stream();
// on answer from message listener
eventSource.onmessage = (event) => {
this.zone.run(() => {
observer.next(event.progress);
});
};
eventSource.onerror = (error) => {
this.zone.run(() => {
observer.error(error);
});
};
});
将此部分更改为
return Observable.create((observer) => {
const eventSource = this.sseService.getEventSourceWithPost(url, data);
// Launch query
eventSource.stream();
// on answer from message listener
eventSource.addEventListener('EVENT_NAME_FROM_STREAM', (event) => {
this.zone.run(() => {
observer.next(event.data);
});
};
});
得到数据显示。但在网络选项卡中,我仍然看不到事件。
推荐阅读
- java - 使用套接字和 Ajax 的客户端-服务器-客户端通信 - Java
- c++ - Visual Studio natvis 语句的局部变量
- c# - WPF:如何将 SQL Server 类型的图像保存为图像?
- html - 在同级弹性行中对齐弹性自动单元格
- emacs - 无法使用依赖类型设置认证编程
- c# - GridView 无法将数据更新到数据库中
- python - 使用 products.urls 中定义的 URLconf,Django 按以下顺序尝试了这些 URL 模式:
- java - 了解 SHA-256 哈希
- django - django.template.exceptions.TemplateSyntaxError:第 30 行的块标记无效:'else'。您是否忘记注册或加载此标签?
- php - 无法在模型对象 Laravel 上调用 SAVE 方法