W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗(yàn)值獎勵
ipcMain
模塊是類 EventEmitter 的實(shí)例.當(dāng)在主進(jìn)程中使用它的時(shí)候,它控制著由渲染進(jìn)程(web page)發(fā)送過來的異步或同步消息.從渲染進(jìn)程發(fā)送過來的消息將觸發(fā)事件.
同樣也可以從主進(jìn)程向渲染進(jìn)程發(fā)送消息,查看更多 webContents.send .
channel
.event.returnValue
.event.sender.send(...)
.一個(gè)例子,在主進(jìn)程和渲染進(jìn)程之間發(fā)送和處理消息:
// In main process.
const ipcMain = require('electron').ipcMain;
ipcMain.on('asynchronous-message', function(event, arg) {
console.log(arg); // prints "ping"
event.sender.send('asynchronous-reply', 'pong');
});
ipcMain.on('synchronous-message', function(event, arg) {
console.log(arg); // prints "ping"
event.returnValue = 'pong';
});
// In renderer process (web page).
const ipcRenderer = require('electron').ipcRenderer;
console.log(ipcRenderer.sendSync('synchronous-message', 'ping')); // prints "pong"
ipcRenderer.on('asynchronous-reply', function(event, arg) {
console.log(arg); // prints "pong"
});
ipcRenderer.send('asynchronous-message', 'ping');
ipcMain
模塊有如下監(jiān)聽事件方法:
ipcMain.on(channel, listener)
channel
Stringlistener
Function監(jiān)聽 channel
, 當(dāng)新消息到達(dá),將通過 listener(event, args...)
調(diào)用 listener
.
ipcMain.once(channel, listener)
channel
Stringlistener
Function為事件添加一個(gè)一次性用的listener
函數(shù).這個(gè) listener
只有在下次的消息到達(dá) channel
時(shí)被請求調(diào)用,之后就被刪除了.
ipcMain.removeListener(channel, listener)
channel
Stringlistener
Function為特定的 channel
從監(jiān)聽隊(duì)列中刪除特定的 listener
監(jiān)聽者.
ipcMain.removeAllListeners([channel])
channel
String (可選)刪除所有監(jiān)聽者,或特指的 channel
的所有監(jiān)聽者.
傳遞給 callback
的 event
對象有如下方法:
event.returnValue
將此設(shè)置為在一個(gè)同步消息中返回的值.
event.sender
返回發(fā)送消息的 webContents
,你可以調(diào)用 event.sender.send
來回復(fù)異步消息,更多信息 webContents.send.
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: