在main.js中使用ipcMain监听事件,为什么有的地方可以用event.sender去发送信息,有的地方却只能用mainWindow来发送呢?
在main.js中使用ipcMain监听事件,为什么在有的地方可以用event.sender去发送信息,有的地方却只能用mainWindow来发送呢?
ipcMain.on("select-music-files", (event, params) => {
dialog.showOpenDialog({
"properties": ["openFile", "multiSelections"],
"filters": [{ "name": "Music", "extensions": ["mp3"] }]
})
.then(res => {
if (!res.canceled && res.filePaths.length > 0) {
// 这里却可以用event.sender
event.sender.send("selected-music-files", { "musicFiles": res.filePaths });
}
})
.catch(err => { console.log(err); }); }); ipcMain.on("import-music-files", (event, params) => { if (Array.isArray(params.musicFiles) && params.musicFiles.length > 0) { const musicFiles = musicDataStore.addTracks(params.musicFiles); // 这里尝试过,event.sender无法发送 mainWindow.send("render-music-files", { musicFiles }); } }); ipcMain.on("delete-music-file", (event, params) => { const musicFiles = musicDataStore.deleteTrack(params.id); // 这里尝试过,event.sender无法发送 mainWindow.send("render-music-files", { musicFiles }); });