小编Ren*_*ues的帖子

EventSource 使用 TypeScript 命名事件

我正在尝试使用EventSourceTypescript 但在使用命名事件时无法正确键入响应。

我试过

const evtSource = new EventSource('/my-url');

const parseMyEvent = (evt: Event) => {
  const data: MyDataInterface = JSON.parse(evt.data);
  console.log(data)
}

evtSource.addEventListener('my-event', parseMyEvent);
Run Code Online (Sandbox Code Playgroud)

失败,因为Event没有属性数据

const evtSource = new EventSource('/my-url');

const parseMyEvent = (evt: MessageEvent) => {
  const data: MyDataInterface = JSON.parse(evt.data);
  console.log(data)
}

evtSource.addEventListener('my-event', parseMyEvent);
Run Code Online (Sandbox Code Playgroud)

失败evtSource.addEventListener('my-event', parseMyEvent),并显示“没有与此调用匹配的过载。”。

我知道这MessageEvent是一个通用接口,但是我应该使用什么作为它的类型?

我正在使用 TS 3.5.3,所以我尝试安装外部类型,@types/eventsource但也没有成功(我知道,它是用于 polyfill EventSource 库,但我尝试过)

使用通用时,evtSource.onMessage = fn它可以正常工作,没有任何问题

应该可以在 TS 中输入 EventSource 事件的侦听器/响应,但是如何输入呢?

types typescript eventsource

9
推荐指数
1
解决办法
4705
查看次数

标签 统计

eventsource ×1

types ×1

typescript ×1