2013-04-05 8 views
7

Ich möchte wissen, wie ein Server gesendet Ereignisse über JavaScript zu schließen. Unten ist mein Blindkode:So schließen Sie Server-Gesendete Ereignisse Ereignisse

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 - der '.close () 'Methode? – Ian

+1

Entschuldigung ich schrieb Close() die ganze Zeit..fixed – ahhmarr

Antwort

4

Der korrekte Weg, ein Server-Side-Event ist mit der close Methode zu schließen.

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

So würden Sie verwenden:

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

JavaScript Fall empfindlich ist, so dass Sie nicht .Close() verwenden können, da es eine andere Sache als .close() ist und wird in diesem Fall undefiniert. Hier

5

ist die Art und Weise, die ich für mich am besten funktioniert gefunden

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