11

サーバーから送信されたイベントを JavaScript で閉じる方法を知りたいです。以下は私のダミーコードです:

var ser=new EventSource("path");
ser.onmessage=function(ev){
if(!ev)
   //want to close HERE!!
else
   console.log(ev);
}
4

2 に答える 2

10

これが私にとって最も効果的であることがわかった方法です

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");
        }  
} 
于 2016-03-04T21:04:17.093 に答える
8

サーバー側イベントを閉じる正しい方法は、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);
};

.Close()JavaScript では大文字と小文字が区別されるため、 とは別のもので.close()あり、この場合未定義になるため、使用できません。

于 2013-04-05T17:07:24.610 に答える