El fragmento de código que ha proporcionado se denomina representación del lado del servidor, por lo que está bien para la primera representación (la primera vez que se carga la página), no puede esperar que el usuario vuelva a cargar la página cada vez que quiera ver los últimos datos.
La solución es sencilla, use AJAX . Después de que se realiza el renderizado inicial (servidor), escriba una API en el back-end que envíe los gData calculados . En el front-end, llame a esta API a intervalos regulares y actualice el gráfico en consecuencia .
Esta es la solución más fácil. También puede usar sockets para enviar datos regularmente al front-end .
- ¿Por qué las excepciones se usan menos en JavaScript que en otros idiomas?
- ¿Qué opinas de The Bootleg Man?
- ¿Existe un servicio (gratuito o de pago) que le permita crear fácilmente encuestas por correo electrónico de forma similar a como lo hace Netflix?
- Cómo hacer un buen video para mi sitio web
- ¿Cómo puedo ejecutar una funcionalidad de inicio de sesión de aplicación no angular usando un transportador?
TL; DR: escriba una API que calcule gData y llame a esta API a intervalos regulares desde el front-end y siga actualizando el gráfico.
Si tiene algún otro problema o no puede hacerlo, envíeme un mensaje.
EDITAR: para que sea más fácil para usted, he agregado algunos fragmentos
Así es como se ve su código de back-end, use este código en el back-end como API.
// API
app.get (‘/ refresh’, (solicitud, respuesta) => {
// Escribe tu consulta para obtener los datos
Gdata
.encontrar({})
.exec ((error, gData) => {
if (error ||! gData) {
// Manejar error aquí
response.status (500) .send (error || ‘Algo salió mal’);
} más {
response.status (200) .json (gData);
}
})
})
Ahora podemos consultar gData desde el front-end como este:
// archivo JS del navegador
datos var = nulo;
var xhr = new XMLHttpRequest ();
xhr.withCredentials = true;
xhr.addEventListener (“readystatechange”, function () {
if (this.readyState === 4) {
console.log (this.responseText);
// Este es tu gData, analízalo en JSON y puedes usarlo.
}
});
xhr.open (“GET”, “/ refresh”);
xhr.setRequestHeader (“control de caché”, “no-cache”);
xhr.send (datos);
¡Paz!