Cómo actualizar constantemente mi panel frontal con nueva información del back-end. He estado buscando una solución en línea, pero no pude tropezar con ninguna.
Ya sé cómo enviar variables estáticas con ejs, pero no sé cómo actualizar mi interfaz con nuevos mensajes del servidor.
Estoy trabajando con express para el servidor y ejs para las plantillas, además del script Java del lado del servidor.
Quiero enviar mensajes en consonancia al usuario. Algo así como la página 3 de 100..., 10 de 100... y así sucesivamente. Si tiene experiencia con el nodo Js, por favor ayúdeme. Gracias.
Podría usar la agrupación larga para resolver su problema, la agrupación larga es,
Se envía una solicitud al servidor.
El servidor no cierra la conexión hasta que tiene un mensaje para enviar
Cuando aparece un mensaje, el servidor responde a la solicitud con él.
El navegador hace una nueva solicitud inmediatamente.
La situación en la que el navegador envió una solicitud y tiene una conexión pendiente con el servidor es estándar para este método. Solo cuando se entrega un mensaje, se restablece la conexión.
Si se pierde la conexión debido, por ejemplo, a un error de red, el navegador envía inmediatamente una nueva solicitud. Un boceto de la función de suscripción del lado del cliente que realiza solicitudes largas:
async function subscribe() { let response = await fetch("/subscribe"); if (response.status == 502) { // Status 502 is a connection timeout error, // may happen when the connection was pending for too long, // and the remote server or a proxy closed it // let's reconnect await subscribe(); } else if (response.status != 200) { // An error - let's show it showMessage(response.statusText); // Reconnect in one second await new Promise(resolve => setTimeout(resolve, 1000)); await subscribe(); } else { // Get and show the message let message = await response.text(); showMessage(message); // Call subscribe() again to get the next message await subscribe(); } } subscribe();¡Espero que esto ayude!