Poo*_*esh 0 javascript node.js knex.js electron node-sqlite3
我意识到,当我在 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)
查询工作正常,但我们在渲染器中没有收到任何警报!
抱歉我的英语不好。
回答:
我的案例中的主要问题是几个框架的干扰!
我使用的是 sqlite3,因此数据库作为文件保存在我的“根”项目文件夹中。
除此之外,我使用“热重载”框架来注意到文件更改。
每次我使用诸如更新、插入、删除之类的查询来更改数据库时,我的数据库文件都会更改,并且热重新加载器会刷新渲染器进程!
| 归档时间: |
|
| 查看次数: |
994 次 |
| 最近记录: |