Как решить это обещание Knex - PullRequest
0 голосов
/ 11 июля 2019

Я пытаюсь использовать одну 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;
    });
});

Я хочу разрешить это обещание, чтобы при новом вызове этой же функциион вернет новый запрос.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...