相关疑难解决方法(0)

在 Node.js 中使用 EventEmitter 和 Typescript 的类型安全侦听器

给定一个Typescript接口和一个扩展Node.js EventEmitter 的类,是否可以定义自定义侦听器来对函数参数进行类型安全检查?

给出以下示例:

import { EventEmitter } from 'events';

interface Payload {
    id: string;
    weight: number;
}

class CustomEventEmitter extends EventEmitter {
    constructor() {
        super();

        this.on('my_event', (data) => {
            // I would like data to be implicitly inferred as Payload type
            console.log(data.weight); // This should compile
            console.log(data.something); // This should not compile
        });
    }
}
Run Code Online (Sandbox Code Playgroud)

节点 EventEmitter 侦听器定义为(...args: any[]) => void),我想重写该any[]类型并使用自定义定义的类型。是否可以?

javascript node.js eventemitter typescript

5
推荐指数
1
解决办法
5492
查看次数

标签 统计

eventemitter ×1

javascript ×1

node.js ×1

typescript ×1