2013-10-16 8 views
6

Wie kann ich feststellen, ob server.HttpResponse angehalten wurde, ohne auf "end" - oder "close" -Ereignisse zu warten?Wie kann man sicher feststellen, ob die Serverantwort von Node.js gestoppt wurde?

Was ich versuche zu erreichen ist so etwas wie dieses:

http.createServer(function (request, response) { 
    var foo; // my event emitting object 

    // ... something compilated happens here ... 

    foo.onSomeEvent(function() { 
     if (response.hasEnded) { 
      // do something 
     } 
    }); 
}); 

Antwort

8

Sie können die finished Eigenschaft auf dem Response-Objekt überprüfen:

if (res.finished) { 
    ... 
} 

(nie benutzt mich, so nicht sicher, ob Es gibt einige mögliche Probleme zu berücksichtigen, wenn Sie es verwenden)

+0

Sorry, diese Antwort ist der Schritt vorwärts, aber wenn Antwort "schließen" Ereignis ausgelöst wird, manchmal "response.fi "ist immer noch falsch. –

+0

@MateuszCharytoniuk Ihre Fragen scheinen darauf hinzuweisen, dass Sie nicht auf irgendwelche Ereignisse warten möchten, sonst hätte ich vorgeschlagen, das 'finish'-Ereignis zu verwenden. – robertklep

+0

Das stimmt, aber ich musste irgendwie überprüfen, ob es funktioniert. In meinem letzten Code möchte ich nichts hören. –

Verwandte Themen