[Pregunta]: Long Polling (Práctica)

Iniciado por Leguim, 27 Enero 2020, 21:43 PM

0 Miembros y 1 Visitante están viendo este tema.

Leguim

Buenos días,

El 16 de diciembre había publicado una llamada ajax que lo que hacia era ejecutar un código php de forma constante (long polling) para dar ese efecto de tiempo real, había preguntado que significaba esta función, el tema está acá: https://foro.elhacker.net/desarrollo_web/pregunta_iquestque_quiere_decir_esto_ajax-t501941.0.html;msg2211575#msg2211575

y creo haber entendido, pero se me esta complicando para aplicarlo a la práctica, lo que estoy tratando de hacer es algo sencillo para aprender simplemente crear una $_SESSION['dato'] = 1;
y que la función ajax va a ejecutar o llamar a un fichero.php que lo que va a ser es decirle que cuando la session dato no tengo el valor 1 es decir, (0, 2, 3, 4, etc) haga algo, cualquier cosa, un alert, console.log imprimir algo con echo... y despues bueno va a seguir ejecutando...

Código (javascript) [Seleccionar]

subscribe: (callback) => {
    const pollUserEvents = () => {
        $.ajax({
            method: 'GET',
            url: 'long_polling_ajax.php',
            success: (data) => {
                callback(data) // process the data
            },
            complete: () => {
                pollUserEvents();
            },
            timeout: 30000
        })
    }
    pollUserEvents()
}

@XSStringManolo

Qué se te complica?

Cada vez que recibes data se llama al método attached a success:

Código (javascript) [Seleccionar]
if (data === 1) alert(1);
if (data === 2) confirm(2);


Pienso que te funciona tanto en el cuerpo de pollUserEvents() como en el cuerpo del callback. Prueba y ya lo compruebas.