一旦用户注销,我想以编程方式关闭服务器发送事件。但是,当用户重新登录时,浏览器不再执行任何 https 请求,因为它已经达到了 SSE 连接的限制。
我EventSource
用于收听事件。
这就是我关闭连接的方式:
var eventSource;
function onChange(accountId:string, callback){
var url = "...";
eventSource = new EventSource(url);
if(eventSource){
eventSource.addEventListener("put", callback);
}
}
function close(){
this.eventSource.close()
}
当我在浏览器上观察网络连接时,我意识到连接仍然存在。中的输出Timing
是:Caution: request is not finished yet!
,由于连接数量有限,以下事件流被停止。
我不确定是否EventSource
被设计成这样,但我找不到关于这个问题的任何信息,因为很多人没有相同的场景。
每次我在浏览器(chrome)中重新加载页面时,所有现有连接都会关闭,但我不想重新加载页面来解决此问题。