2013-04-05 14 views
7

Chcę wiedzieć, jak zamknąć zdarzenia wysłane przez serwer za pomocą JavaScript. Poniżej jest mój kod manekin:Jak zamknąć zdarzenia zdarzeń wysyłanych przez serwer

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

https://developer.mozilla.org/en-US/docs/Server-sent_events/EventSource#Method_overview - na '.close () 'metoda? – Ian

+1

Przepraszam, że pisałem Close() przez cały ten czas. – ahhmarr

Odpowiedz

4

Poprawny sposób, aby zamknąć zdarzenie po stronie serwera jest metodą close.

https://developer.mozilla.org/en-US/docs/Server-sent_events/EventSource#Method_overview

Więc chcesz użyć:

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

JavaScript jest wielkość liter, więc nie można użyć .Close(), jak to jest inna sprawa niż .close() i będzie niezdefiniowane w niniejszym przypadku.

5

Oto sposób, że znalazłem pracował dla mnie najlepsza

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"); 
     } 
} 
Powiązane problemy