Soy novato en la función de EventSource en javascript. Según tengo entendido, eventsource llama a la API con contenido de transmisión y obtiene las actualizaciones de datos automáticamente sin realizar más llamadas. Pero planeo hacer, si es posible, dejar de escuchar la respuesta después de 10 segundos del EventSource. Por ejemplo, en la siguiente URL podemos encontrar el ejemplo de EventSource, quiero que deje de escuchar/recuperar después de 10 segundos.
https://www.w3schools.com/html/tryit.asp?filename=tryhtml5_sse
Podría usar el método EventSource.close() y llamarlo en un setTimeout() como sigue (adaptado del código W3Schools vinculado):
if(typeof(EventSource) !== "undefined") { const source = new EventSource("demo_sse.php"); source.onmessage = function(event) { console.log(event.data); }; setTimeout(() => { source.close(); console.log("connection closed"); }, 10000) } else { console.log("Sorry, your browser does not support server-sent events..."); }