方便ipcRenderer与ipcMain通信
npm install electron-requesterDefaultRequester
typescript
export interface Requester {
/**
* 发送请求
* @param channel 通道。注意这不会ipcRenderer.send(channel, listener)中的通道,仅是一个参数
* @param params 参数
* @param handler 处理最后结果的handler
* @param progressiveHandler 处理过程通知的handler
*/
request(channel: string,
params: {[key: string]: any},
handler: EndHandler,
progressiveHandler?: ProgressiveHandler);
}
`
Dispatcher
提供给ipcMain使用,用于监听ipcRenderer发送的请求。有一个实现类DefaultDispatcher
`typescript
/**
* 事件调度器
*/
export interface Dispatcher {
dispatch(): void;
}
`
HandlerRegistry
用于注册处理器,有一个实现类DefaultHandlerRegistry
`typescript
/**
* handler注册器
*/
export interface HandlerRegistry {
/**
* 注册handler
* @param channel 事件
* @param handler 处理器
*/
register(channel: string, handler: ChannelHandler): this;
/**
* 获得handler
*/
getHandler(channel: string): ChannelHandler;
}
`
ChannelHandler
用于处理请求,有一个实现类EchoChannelHandler
`typescript
/**
* 处理事件
*/
export interface ChannelHandler {
/**
* 处理事件
* @param responser
* @param param
*/
handle(responser: Responser, param: {[key: string]: any});
}
``