我想知道如何通过JavaScript关闭服务器发送的事件。下面是我的虚拟代码:
var ser=new EventSource("path");
ser.onmessage=function(ev){
if(!ev)
//want to close HERE!!
else
console.log(ev);
}
答案 0 :(得分:6)
这是我发现最适合我的方式
var eventSource = new EventSource("path");
eventSource.onerror = eventSourceErrorFunction;
var eventSourceErrorFunction = function(event)
{
if (event.eventPhase == EventSource.CLOSED) {
that.eventSource.close();
console.log("Event Source Closed");
}
}
答案 1 :(得分:4)
关闭服务器端事件的正确方法是使用close
方法。
https://developer.mozilla.org/en-US/docs/Server-sent_events/EventSource#Method_overview
所以你要使用:
var ser = new EventSource("path");
ser.onmessage = function (ev) {
if (!ev)
ser.close();
else
console.log(ev);
};
JavaScript区分大小写,因此您无法使用.Close()
,因为它与.close()
不同,在这种情况下将不会定义。