2017-07-25 1 views
0

ich ein Skript, das mit dem Server verbindet WebSocket mitWie wirkt auf Callback-Funktion

export class AppComponent { 

    connection_status = false; 
    message = ''; 

    public connect() { 
    this.socket = io('http://localhost:5001'); 
    this.socket.on('connected', this.connection_established); 
    } 
} 

Ich mag die connection_status Variable ändern, wenn connected Nachricht empfangen wird und den Inhalt der Nachricht an message Variablen zu speichern.

Antwort

1
export class AppComponent { 

    connection_status = false; 
    message = ''; 

    public connect() { 
    this.socket = io('http://localhost:5001'); 
    this.socket.on('connected', this.connection_established.bind(this)); 
    } 

    connection_established() { 
    this.connection_established = true; 
    this.message = 'connected'; 
    } 
} 
+0

Sollte nicht 'connect' als Ereignisname anstelle von 'verbunden' sein? Und ich denke, dass dies aufgrund des falschen Kontexts von "this" in dem "connection_established" Callback fehlschlagen wird. – cyrix

+0

Bearbeitet, um den Kontext im Rückruf zu erhalten. Ich habe keine Ahnung, ob das Ereignis connect oder connected ist. Aber nach meinem Verständnis ist die Frage, wie man den Callback behandelt – Ignasi

+0

Wie @crix erwähnt, es funktioniert nicht, weil der Kontext von "this" geändert hat. – Pitirus

Verwandte Themen