Angular 7,服务器发送事件未接收事件/数据。
创始人
2024-10-17 08:00:48
0

要解决这个问题,首先需要确保服务器发送事件(SSE)的代码正确。以下是一个简单的服务器端代码示例,使用Node.js和Express框架:

const express = require('express');
const app = express();

app.get('/events', (req, res) => {
  res.setHeader('Content-Type', 'text/event-stream');
  res.setHeader('Cache-Control', 'no-cache');
  res.setHeader('Connection', 'keep-alive');
  res.flushHeaders();

  // 假设你有一个事件源,用于发送事件和数据
  const eventSource = createEventSource();

  // 监听事件源的事件,并发送给客户端
  eventSource.on('event', (event) => {
    res.write(`event: ${event.name}\n`);
    res.write(`data: ${JSON.stringify(event.data)}\n\n`);
  });

  // 当客户端关闭连接时,关闭事件源
  req.on('close', () => {
    eventSource.close();
  });
});

// 创建一个事件源的示例函数
function createEventSource() {
  const eventEmitter = new EventEmitter();

  // 模拟事件触发
  setTimeout(() => {
    eventEmitter.emit('event', { name: 'eventName', data: 'eventData' });
  }, 1000);

  return eventEmitter;
}

app.listen(3000, () => {
  console.log('Server started on port 3000');
});

接下来,需要在Angular 7中设置客户端代码以接收服务器发送的事件和数据。以下是一个简单的Angular组件示例:

import { Component, OnInit } from '@angular/core';

@Component({
  selector: 'app-event-listener',
  template: `
    

Event Listener

  • {{ event }}
` }) export class EventListenerComponent implements OnInit { events: string[] = []; ngOnInit() { const eventSource = new EventSource('/events'); eventSource.addEventListener('eventName', (event: any) => { this.events.push(event.data); }); } }

在上面的示例中,它创建了一个EventSource对象来监听服务器发送的事件。当接收到名为"eventName"的事件时,它将事件数据添加到events数组中,然后在模板中显示出来。

确保在你的Angular项目中导入了EventSource类,可以使用以下导入语句:

import { EventSource } from 'eventsource';

最后,将EventListenerComponent添加到你的Angular应用的模块中,以便能够在页面上显示出来。

这就是如何在Angular 7中接收服务器发送的事件和数据的解决方法。请根据你的实际需求进行适当的修改和调整。

相关内容

热门资讯

两分钟辅助!开心泉州小程序开挂... 两分钟辅助!开心泉州小程序开挂有什么技巧,原来真的是有辅助插件(有挂教学)开心泉州小程序开挂有什么技...
七分钟辅助!奇迹脚本辅助,真是... 七分钟辅助!奇迹脚本辅助,真是有辅助软件(确实有挂)1、超多福利:超高返利,海量正版游戏,奇迹脚本辅...
一分钟辅助!天天贵阳智能辅助器... 一分钟辅助!天天贵阳智能辅助器,原来是有辅助脚本(真的有挂)亲,关键说明,天天贵阳智能辅助器透视脚本...
3分钟辅助!一起宁德钓蟹黑科技... 3分钟辅助!一起宁德钓蟹黑科技辅助软件推荐,其实真的有辅助挂(有挂存在)1、玩家可以在一起宁德钓蟹黑...
第二分钟辅助!大菠萝789辅助... 第二分钟辅助!大菠萝789辅助器下载,原来存在有辅助挂(存在有挂)运大菠萝789辅助器下载辅助工具,...
3分钟辅助!科乐填坑辅助,原来... 3分钟辅助!科乐填坑辅助,原来真的是有辅助器(有挂方略)1、下载好科乐填坑辅助透视辅助下载之后点击打...
3分钟辅助!潮友会透视辅助教程... 3分钟辅助!潮友会透视辅助教程,果然存在有辅助器(有挂辅助)亲,关键说明,潮友会透视辅助教程透视脚本...
4分钟辅助!福建兄弟十三冰修改... 4分钟辅助!福建兄弟十三冰修改器,本来真的是有辅助app(有挂讲解)1、游戏颠覆性的策略玩法,独创攻...
第二分钟辅助!wepoker插... 第二分钟辅助!wepoker插件程序,真是是真的有辅助技巧(有挂细节)1、不需要AI权限,帮助你快速...
1分钟辅助!悠悠互娱辅助,真是... 1分钟辅助!悠悠互娱辅助,真是是有辅助神器(有挂解密)悠悠互娱辅助透视方法中分为三种模型:悠悠互娱辅...