在需要使用 SSE 的控制器中引入 EventEmitter2:

import { Controller } from '@nestjs/common';
import { EventEmitter2 } from '@nestjs/event-emitter';
@Controller()
export class MyController {
  constructor(private eventEmitter: EventEmitter2) {}
  // ...

然后,可以在控制器中创建 SSE 路由:

@Get('/my-stream')
stream() {
  return this.eventEmitter.fromEvent('my-event');

这里将 my-event 作为了一个事件名称,后面可以通过 eventEmitter.emit 方法来触发该事件。

注意:fromEvent 方法返回的是一个 RxJS 的 Observable 对象,可以通过 Observable 提供的方法来进行事件的监听和处理。

最后,在需要触发 SSE 事件的方法中,可以使用 eventEmitter.emit 方法来触发 my-event 事件:

@Interval(1000) // 每隔 1 秒触发一次
sendData() {
  const data = { hello: 'world' }; // 要发送的数据
  this.eventEmitter.emit('my-event', data); // 触发 my-event 事件并携带数据

这里使用了 @nestjs/schedule 模块中的 @Interval 装饰器,表示每隔一定时间就会触发 sendData 方法。

Done!现在,可以在浏览器中通过 SSE 连接到 http://localhost:3000/my-stream,就可以实时接收到数据啦!

<script
本文内容通过AI工具匹配关键字智能整合而成,仅供参考,火山引擎不对内容的真实、准确或完整作任何形式的承诺。如有任何问题或意见,您可以通过联系service@volcengine.com进行反馈,火山引擎收到您的反馈后将及时答复和处理。
展开更多
面向开发者的云福利中心,ECS 60元/年,域名1元起,助力开发者快速在云上构建可靠应用

社区干货

云原生 x AI 时代的微服务架构最佳实践—— CloudWeGo 技术沙龙·北京站报名开启

**Hertz SSE 实现原理 & 在 AI ChatBot 的落地*** **讲师:** **范舒阳、万子渝,CloudWeGo-Hertz Committer*** **大纲:**SSE(Server-Sent Events)是一种服务器主动发送数据到客户端的机制,基于 HTTP 提供单向流能力。随着 AIGC/LLM 的流行,字节跳动内部和社区都对 SSE 有强烈诉求。两位同学将会分享 SSE 的原理,Hertz SSE 的设计与实现,以及演示如何利用 SSE 能力构建 AI 聊天机器人。![picture.image](https://p3-volc-...

特惠活动

热门爆款云服务器

100%性能独享,更高内存性能更佳,学习测试、web前端、企业应用首选,每日花费低至0.55元
60.00/1212.00/年
立即购买

域名注册服务

cn/top/com等热门域名,首年低至1元,邮箱建站必选
1.00/首年起32.00/首年起
立即购买

DCDN国内流量包100G

同时抵扣CDN与DCDN两种流量消耗,加速分发更实惠
2.00/20.00/年
立即购买

如何使用NestJS实现“ServerSentEvent(SSE) -优选内容

云原生 x AI 时代的微服务架构最佳实践—— CloudWeGo 技术沙龙·北京站报名开启
**Hertz SSE 实现原理 & 在 AI ChatBot 的落地*** **讲师:** **范舒阳、万子渝,CloudWeGo-Hertz Committer*** **大纲:**SSE(Server-Sent Events)是一种服务器主动发送数据到客户端的机制,基于 HTTP 提供单向流能力。随着 AIGC/LLM 的流行,字节跳动内部和社区都对 SSE 有强烈诉求。两位同学将会分享 SSE 的原理,Hertz SSE 的设计与实现,以及演示如何利用 SSE 能力构建 AI 聊天机器人。![picture.image](https://p3-volc-...
ChatGLM-130B API调用指南
ChatGLM-130B 参考了 ChatGPT 的设计思路,在千亿基座模型 GLM-130B 中注入了代码预训练,通过有监督微调(Supervised Fine-Tuning)等技术实现人类意图对齐。ChatGLM 当前版本模型的能力提升主要来源于独特的千亿基座... VOLC_ACCESSKEY=XXXXX VOLC_SECRETKEY=YYYYY go run main.gopackage mainimport ( "encoding/json" "errors" "fmt" "os" "github.com/volcengine/volc-sdk-golang/service/maas" "github.com/v...
MiniMax-abab5.5 API调用指南
VOLC_ACCESSKEY=XXXXX VOLC_SECRETKEY=YYYYY go run main.gopackage mainimport ( "encoding/json" "errors" "fmt" "os" "github.com/volcengine/volc-sdk-golang/service/maas" "github.com/v... VOLC_ACCESSKEY=XXXXX VOLC_SECRETKEY=YYYYY python main.py'''import osfrom volcengine.maas import MaasService, MaasException, ChatRoledef test_chat(maas, req): try: resp = maas.chat(req) ...
ChatGLM2-Pro API 调用指南
VOLC_ACCESSKEY=XXXXX VOLC_SECRETKEY=YYYYY go run main.gopackage mainimport ( "encoding/json" "errors" "fmt" "os" "github.com/volcengine/volc-sdk-golang/service/maas" "github.com/v... VOLC_ACCESSKEY=XXXXX VOLC_SECRETKEY=YYYYY python main.py'''import osfrom volcengine.maas import MaasService, MaasException, ChatRoledef test_chat(maas, req): try: resp = maas.chat(req) ...

如何使用NestJS实现“ServerSentEvent(SSE) -相关内容

API调用指南

如何获取可参考密钥管理-帮助文档。 如果用户需要自己实现 client 调用代码,需要用 AK/SK 进行旁路鉴权,火山鉴权逻辑可以参考:签名方法 构造签名时使用的服务元信息如下: region: cn-beijingservice: ml_maassch... (Server-Sent Events) 协议返回数据 tools list 一个模型可能调用的工具列表。目前,只支持函数作为工具。使用此功能提供模型可能为其生成JSON输入的函数列表。 tools.type string 工具的类型,目前只支持 functio...

Moonshot-v1-128k API 调用指南

VOLC_ACCESSKEY=XXXXX VOLC_SECRETKEY=YYYYY go run main.gopackage mainimport ( "encoding/json" "errors" "fmt" "os" "github.com/volcengine/volc-sdk-golang/service/maas" "github.com/v... VOLC_ACCESSKEY=XXXXX VOLC_SECRETKEY=YYYYY python main.py'''import osfrom volcengine.maas import MaasService, MaasException, ChatRoledef test_chat(maas, req): try: resp = maas.chat(req) ...

Moonshot-v1-8k API 调用指南

VOLC_ACCESSKEY=XXXXX VOLC_SECRETKEY=YYYYY go run main.gopackage mainimport ( "encoding/json" "errors" "fmt" "os" "github.com/volcengine/volc-sdk-golang/service/maas" "github.com/v... VOLC_ACCESSKEY=XXXXX VOLC_SECRETKEY=YYYYY python main.py'''import osfrom volcengine.maas import MaasService, MaasException, ChatRoledef test_chat(maas, req): try: resp = maas.chat(req) ...

热门爆款云服务器

100%性能独享,更高内存性能更佳,学习测试、web前端、企业应用首选,每日花费低至0.55元
60.00/1212.00/年
立即购买

域名注册服务

cn/top/com等热门域名,首年低至1元,邮箱建站必选
1.00/首年起32.00/首年起
立即购买

DCDN国内流量包100G

同时抵扣CDN与DCDN两种流量消耗,加速分发更实惠
2.00/20.00/年
立即购买

baichuan-7B API 调用指南

VOLC_ACCESSKEY=XXXXX VOLC_SECRETKEY=YYYYY go run main.gopackage mainimport ( "encoding/json" "errors" "fmt" "os" "github.com/volcengine/volc-sdk-golang/service/maas" "github.com/v... VOLC_ACCESSKEY=XXXXX VOLC_SECRETKEY=YYYYY python main.py'''import osfrom volcengine.maas import MaasService, MaasException, ChatRoledef test_chat(maas, req): try: resp = maas.chat(req) ...

Skylark2-pro-turbo-8k API 调用指南

fmt.Println(mustMarshalJson(resp.Usage)) } }}func mustMarshalJson(v interface{}) string { s, _ := json.Marshal(v) return string(s)}Python注意 目前仅支持 python>=3.5。 python '''Usage:1. python3 -m pip install --user volcengine2. VOLC_ACCESSKEY=XXXXX VOLC_SECRETKEY=YYYYY python main.py'''import osfrom volcengine.maas.v2 import MaasServicefrom volcengine.maas import MaasException, ChatRoledef te...

Skylark2-pro-32k API调用指南

fmt.Println(mustMarshalJson(resp.Usage)) } }}func mustMarshalJson(v interface{}) string { s, _ := json.Marshal(v) return string(s)}Python注意 目前仅支持 python>=3.5。 python '''Usage:1. python3 -m pip install --user volcengine2. VOLC_ACCESSKEY=XXXXX VOLC_SECRETKEY=YYYYY python main.py'''import osfrom volcengine.maas.v2 import MaasServicefrom volcengine.maas import MaasException, ChatRoledef te...

ChatGLM-6B API 调用指南

VOLC_ACCESSKEY=XXXXX VOLC_SECRETKEY=YYYYY go run main.gopackage mainimport ( "encoding/json" "errors" "fmt" "os" "github.com/volcengine/volc-sdk-golang/service/maas" "github.com/v... VOLC_ACCESSKEY=XXXXX VOLC_SECRETKEY=YYYYY python main.py'''import osfrom volcengine.maas import MaasService, MaasException, ChatRoledef test_chat(maas, req): try: resp = maas.chat(req) ...

Dolly-V2-12B API 调用指南

VOLC_ACCESSKEY=XXXXX VOLC_SECRETKEY=YYYYY go run main.gopackage mainimport ( "encoding/json" "errors" "fmt" "os" "github.com/volcengine/volc-sdk-golang/service/maas" "github.com/v... VOLC_ACCESSKEY=XXXXX VOLC_SECRETKEY=YYYYY python main.py'''import osfrom volcengine.maas import MaasService, MaasException, ChatRoledef test_chat(maas, req): try: resp = maas.chat(req) ...

Skylark-plus API调用指南

VOLC_ACCESSKEY=XXXXX VOLC_SECRETKEY=YYYYY go run main.gopackage mainimport ( "encoding/json" "errors" "fmt" "os" "github.com/volcengine/volc-sdk-golang/service/maas" "github.com/v... VOLC_ACCESSKEY=XXXXX VOLC_SECRETKEY=YYYYY python main.py'''import osfrom volcengine.maas import MaasService, MaasException, ChatRoledef test_chat(maas, req): try: resp = maas.chat(req) ...

特惠活动

热门爆款云服务器

100%性能独享,更高内存性能更佳,学习测试、web前端、企业应用首选,每日花费低至0.55元
60.00/1212.00/年
立即购买

域名注册服务

cn/top/com等热门域名,首年低至1元,邮箱建站必选
1.00/首年起32.00/首年起
立即购买

DCDN国内流量包100G

同时抵扣CDN与DCDN两种流量消耗,加速分发更实惠
2.00/20.00/年
立即购买

产品体验

体验中心

云服务器特惠

云服务器
云服务器ECS新人特惠
立即抢购

白皮书

一图详解大模型
浓缩大模型架构,厘清生产和应用链路关系
立即获取