Я пытаюсь использовать одну HTML-страницу, которая динамически заполняет содержимое из базы данных sqlite.Запрос выполняется через Electron с Knex и передается на HTML-страницу Electron.Проблема в том, что когда я выхожу из страницы пользователей и захожу как другой пользователь, массив остается с первого экрана входа в систему, поэтому он также заполняет все плитки от предыдущего пользователя.Я считаю, что это связано с тем, что обещание не было выполнено, но я не уверен.
Я пытался исправить это с помощью различных методов, один из которых был через добавление массива HTML, а также путем очистки содержимого DIV при вызове функции выхода из системы, однако я считаю, что проблема связана с запросом Knexи обещание.
function loadTiles(roleSelection) {
let refTiles = knex({roleSelection}).select('RefTiles');
refTiles.then(function(userTiles){
newWin.webContents.send('user:tiles', userTiles);
newWin.webContents.send('ref:name', roleSelection);
});
};
Этот запрос получен HTML-страницей с этим сценарием:
document.addEventListener("DOMContentLoaded", function (){
ipcRenderer.send('TemplateWindowLoaded');
ipcRenderer.on('user:tiles', (event, userTiles) => {
console.log(userTiles);
for (var c in userTiles) {
var containerElement = document.getElementById('main');
var refTile = document.createElement('div');
refTile.id = userTiles[c]; refTile.className = "modal-btn";
refTile.innerHTML = userTiles[c].RefTiles;
containerElement.appendChild(refTile);
}
});
ipcRenderer.on('ref:name', (event, roleSelection) => {
var user = document.getElementById('userName');
user.innerHTML = "";
user.innerHTML += roleSelection;
});
});
Я хочу разрешить это обещание, чтобы при новом вызове этой же функциион вернет новый запрос.