Как обновлять страницу каждые 60 секунд, чтобы перезагрузить запрос mysql

У меня есть этот код, который перезагружает соединение 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/');
});

Возможно, вы можете использовать функцию setTimeout

Juan Scolari 12.05.2019 06:35

@juan Scolari, куда это положить?

alammd 12.05.2019 07:32
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
2
2
160
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете просто использовать 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 в реальном времени.

Другие вопросы по теме