Foro de elhacker.net

Programación => Desarrollo Web => Mensaje iniciado por: Leguim en 27 Enero 2020, 21:43 pm



Título: [Pregunta]: Long Polling (Práctica)
Publicado por: Leguim en 27 Enero 2020, 21:43 pm
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 (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
  1. subscribe: (callback) => {
  2.    const pollUserEvents = () => {
  3.        $.ajax({
  4.            method: 'GET',
  5.            url: 'long_polling_ajax.php',
  6.            success: (data) => {
  7.                callback(data) // process the data
  8.            },
  9.            complete: () => {
  10.                pollUserEvents();
  11.            },
  12.            timeout: 30000
  13.        })
  14.    }
  15.    pollUserEvents()
  16. }
  17.  


Título: Re: [Pregunta]: Long Polling (Práctica)
Publicado por: @XSStringManolo en 27 Enero 2020, 22:27 pm
Qué se te complica?

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

Código
  1. if (data === 1) alert(1);
  2. 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.