Javascript 中固定秒数的 EventSource

EventSource for fixed seconds in Javascript

我是 javascript 中 EventSource 功能的新手。根据我的理解,事件源使用流内容调用 api 并自动获取数据更新,而无需进行任何进一步的调用。但我打算尽可能在 EventSource 10 秒后停止收听响应。例如在下面的 URL 中我们可以找到 EventSource 示例,我希望它在 10 秒后停止 listening/fetching。

https://www.w3schools.com/html/tryit.asp?filename=tryhtml5_sse

您可以使用 EventSource.close() 方法并在 setTimeout() 中调用它,如下所示(改编自链接的 W3Schools 代码):

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...");
}