#javascript #electron #knex.js
#javascript #electron #knex.js
Вопрос:
Я создаю приложение electron и не могу отправлять или получать данные. Я хочу отправить данные, которые возникли в my main.js
, в my mainWindow.html
. Я использую knex с sqlite 3. Я попробовал несколько подходов. Любая помощь приветствуется, спасибо.
Соответствующий код
main.js
app.on("ready", function () {
[...]
taskContents = [];
knex
.select("task")
.from("task")
.then((task) => {
for (var i = 0; i < task.length; i ) {
// console.log(task[i].task);
taskContents.push(task[i].task);
}
// I want to send task contents ===================
ipcMain.on("item:task", function(e, taskContents){
mainWindow.webContents.send("item:task", taskContents);
}
}).catch(function (error) {
console.error(error);
});
[...]
});
mainWindow.html
ipcRenderer.on("item:tasks", function(e, item){
console.log(item);
});
Ответ №1:
В main.js у вас есть этот код:
ipcMain.on("item:task", function(e, taskContents){
mainWindow.webContents.send("item:task", taskContents);
}
Это означает, что он будет ждать item:task
сообщения в основном процессе, прежде item:task
чем сообщение будет отправлено mainWindow
.
Я бы предложил удалить ipcMain.on
подобное:
mainWindow.webContents.send("item:task", 'messageData');
Но также в вашем mainWindow.html вы используете item:tasks
вместо item:task
:
Например, должно быть:
ipcRenderer.on("item:task", function(e, item){
Вместо:
ipcRenderer.on("item:tasks", function(e, item){
Комментарии:
1. В моей консоли по-прежнему ничего не отображается.