Запрос обновления sqlite3 обновляет процесс рендеринга электронов - PullRequest
0 голосов
/ 17 апреля 2020

Я понял, что когда я использую запрос на обновление с knex (с sqlite3) в электронном js, после выполнения запроса процесс рендеринга обновляется автоматически! например:

index. html:

ipc.send('UpdateTheRow', {'Id': 1, 'Title': 'foo', 'Date': '01-01-2020'});

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);
        });
    });

после выполнения запроса на обновление консоль печатает ответ, но рендер обновляется!

другими словами, когда мы делаем что-то вроде этого:

reaplce console.log в Main. js с:

indexPage.webContents.send("EditedTheRow", res);

и в index. html

ipc.on('EditedTheRow', (event, response) => {
   alert('Updated');
}

запрос работает хорошо, но мы не получаем никаких уведомлений в Renderer !

извините за мой бедный английский sh.

1 Ответ

0 голосов
/ 30 апреля 2020

Ответ:

Основной проблемой в моем случае было вмешательство в работу нескольких кадров! Я использую sqlite3, поэтому база данных сохраняется в виде файла в папке проекта root. Наряду с этим я использую фреймворк «Hot Reload», который замечает изменения файла. И каждый раз, когда я использую запрос, такой как «Обновить», «Вставить», «Удалить», который изменяет базу данных, изменения в моем файле БД и «Горячий перегрузчик» обновляет процесс рендеринга!

...