在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問(wèn)答/HTML/ typescript如何給EventEmitter重新聲明類型?

typescript如何給EventEmitter重新聲明類型?

問(wèn)題描述

目前我在使用Electron框架開(kāi)發(fā)桌面應(yīng)用,基于Typescript。
在調(diào)用ipc模塊時(shí),希望對(duì)他的參數(shù)進(jìn)行限定(定義),但不知道該如何使用Typescript進(jìn)行限定。

嘗試過(guò)程

嘗試以下方式進(jìn)行重新聲明,均無(wú)效果

import {ipcMain} from 'electron';

// 接口定義,IpcMain大寫(xiě)開(kāi)頭
interface IpcMain {
  on(channel: 'abc' | 'bbc', listener: Function): this;
}
// 接口定義,ipcMain小寫(xiě)開(kāi)頭
interface ipcMain {
  on(channel: 'abc' | 'bbc', listener: Function): this;
}
// 模塊聲明
declare module 'electron' {
  interface IpcMain  {
    on(channel: 'abc' | 'bbc', listener: Function): this;
  }
}


// 實(shí)際代碼,希望控制第一個(gè)參數(shù)的類型限定為指定字符串
ipcMain.on('message', (event: Electron.Event, arg:any) => {
      console.log(arg);
    });
回答
編輯回答
逗婦乳
interface ipcMain {
  on(channel: string, listener: (event, arg) => void): this;
}

或者

interface ICbListener
{
(event, arg): void
}
interface ipcMain {
  on(channel: string, listener: ICbListener): this;
}
2017年6月17日 00:08