typescript如何给EventEmitter重新声明类型?

问题描述

目前我在使用Electron框架开发桌面应用,基于Typescript。

在调用ipc模块时,希望对他的参数进行限定(定义),但不知道该如何使用Typescript进行限定。


尝试过程

尝试以下方式进行重新声明,均无效果


import {ipcMain} from 'electron';


// 接口定义,IpcMain大写开头

interface IpcMain {

  on(channel: 'abc' | 'bbc', listener: Function): this;

}

// 接口定义,ipcMain小写开头

interface ipcMain {

  on(channel: 'abc' | 'bbc', listener: Function): this;

}

// 模块声明

declare module 'electron' {

  interface IpcMain  {

    on(channel: 'abc' | 'bbc', listener: Function): this;

  }

}



// 实际代码,希望控制第一个参数的类型限定为指定字符串

ipcMain.on('message', (event: Electron.Event, arg:any) => {

      console.log(arg);

    });


慕尼黑8549860
浏览 334回答 1
1回答

ITMISS

interface ipcMain {  on(channel: string, listener: (event, arg) => void): this;}或者interface ICbListener{(event, arg): void}interface ipcMain {  on(channel: string, listener: ICbListener): this;}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript