У меня есть этот код, который перезагружает соединение mysql и показывает набор результатов в таблице html. я хочу обновлять эту страницу каждые 60 секунд, чтобы новые данные отображались на странице, в настоящее время работает ручное обновление, но его нужно автоматизировать.
я использую обновление браузера, но не знаю, как установить каждые 60 секунд или есть ли другой способ сделать это
Я использую обновление браузера
<script src = "{process.env.BROWSER_REFRESH_URL}"></script>
а также
if (process.send) {
process.send('online');
}
Мои коды следующие: -
const http = require('http');
const mysql = require('mysql');
const pool = mysql.createPool({
host: 'localhost',
user: 'root',
password: '',
database: 'alerts',
charset: 'utf8'
});
var reo ='<html><head><title>POWER CUT ALERT</title></head><body><h1>POWER CUT ALERT</h1>{${table}} <script src = "{process.env.BROWSER_REFRESH_URL}"></script> </body></html>';
function setResHtml(sql, cb){
pool.getConnection((err, con)=>{
if (err) throw err;
con.query(sql, (err, res, cols)=>{
if (err) throw err;
var table =''; //to store html table
//create html table with data from res.
for(var i=0; i<res.length; i++){
table +='<tr><td>'+ (i+1) +'</td><td>'+ res[i].timestamp +'</td><td>'+ res[i].device_id +'</td></tr>';
}
table ='<table border = "1"><tr><th>Nr.</th><th>Timestamp</th><th>IMEI NO</th></tr>'+ table +'</table>';
con.release(); //Done with mysql connection
con.destroy();
return cb(table);
});
});
}
let sql ='SELECT * from alerts';
const server = http.createServer((req, res)=>{
setResHtml(sql, resql=>{
var reo2 = reo.replace('{${table}}', resql);
res.writeHead(200, {'Content-Type':'text/html; charset=utf-8'});
res.write(reo2, 'utf-8');
res.end();
if (process.send) {
process.send('online');
}
});
});
server.listen(8080, ()=>{
console.info('Server running at //localhost:8080/');
});
@juan Scolari, куда это положить?



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Вы можете просто использовать setInterval для этой цели.
setInterval(function () {
//Call the server api
}, 1000 * 60);
Обновление браузера имеет другое назначение:
This module improves productivity by enabling instant web page refreshes anytime a front-end resource is modified on the server.
В основном (очень похоже на nodemon) он отслеживает изменения в файловой системе и поддерживает перезагрузку CSS и JavaScript в реальном времени.
Возможно, вы можете использовать функцию setTimeout