我意识到,当我在 Electron JS 中使用 knex (使用 sqlite3)更新查询时,查询完成后,渲染器进程会自动刷新!例如:
索引.html:
ipc.send('UpdateTheRow', {'Id': 1, 'Title': 'foo', 'Date': '01-01-2020'});
Run Code Online (Sandbox Code Playgroud)
main.js
ipcMain.on('UpdateTheRow', (event, newData)=>{
knex('Products').where({id: newData.Id}).update({
title: newData.Title,
enter_date: newData.Date
}).then(function (res) {
console.log(res);
});
});
Run Code Online (Sandbox Code Playgroud)
运行更新请求后,控制台打印 Response ,但渲染器刷新!
换句话说,当我们做这样的事情时:
在 Main.js 中使用以下命令重新获取 console.log:
indexPage.webContents.send("EditedTheRow", res);
Run Code Online (Sandbox Code Playgroud)
在index.html中
:
ipc.on('EditedTheRow', (event, response) => {
alert('Updated');
}
Run Code Online (Sandbox Code Playgroud)
查询工作正常,但我们在渲染器中没有收到任何警报!
抱歉我的英语不好。