У меня есть простое приложение Electron, которое запрашивает базу данных SQL и отображает вывод в виде таблицы HTML. У меня все работает корректно, но теперь мне нужно «refre sh» таблицы HTML каждые X минут (с новыми результатами запроса SQL).
Прямо сейчас у меня есть работает правильно, используя метатег непосредственно в HTML с: http-эквивалент = "refre sh" content = "300". Это корректно обновляет страницу каждые 5 минут, а это именно то, что мне нужно.
Хотя проблема в том, что refre sh заставляет экран go белый, пока выполняется запрос SQL и HTML построен. Очевидно, что лучшим решением было бы использовать DOM и изменять только те ячейки, которые действительно изменились, начиная с последнего refre sh. Проблема, с которой я сталкиваюсь, заключается в том, чтобы заставить setInterval работать правильно ... Еще раз, это ОЧЕНЬ ПРОСТОЕ электронное приложение. Я использую их стартовую котельную плиту. Я попытался добавить "setInterval" в тег <body>
, используя такой код:
<body onload='setInterval(updateTable(), 300000);'>
, но код срабатывает только один раз ... Я также попытался добавить следующий код в конце тело (только внутри тега </body>
):
<script>
window.onload=function(e){
setInterval(updateTable(), 300000);
}
</script>
... удаление его из обработчика window.onload ...:
<script>
setInterval(updateTable(), 300000);
</script>
... а также переместив его в файл "renderer. js":
setInterval(updateTable(), 300000);
во всех случаях, он срабатывает только один раз ... Я знаю это, потому что первая строка кода в updateTable () выводит текущий дата и время для консоли, через console.log () ..
Я попытался уменьшить значение тайм-аута до 10 секунд (с 300000 до 10000), просто чтобы мне не пришлось так долго ждать тестирование и это не имело никакого значения. Я подозреваю, что проблема, с которой я столкнулся, связана с моим отсутствием знаний об электронной структуре (например, о различных «процессах»), и я уже два дня ищу решения, но безуспешно. Любой совет о том, как я могу сделать это sh, ОЧЕНЬ ЦЕНЕН!