2017-12-20 14 views
0

Ich habe einen Knoten Service, der socket.io ausgeführt wird.Kill einen bestimmten Listener, nachdem der on gefeuert wurde

Darüber hinaus habe ich einen Event-Emitter, um Updates basierend auf Benutzerkontext auszulösen. (z. B. Kontext A hat Benutzer 1, Benutzer 2, Benutzer 3, Kontext B hat Benutzer 4 & Benutzer 5)

Wenn eine erfolgreiche Verbindung mit dem Socket hergestellt wurde, wird ein Ereignislistener im Kontext des Benutzers registriert.

   myEmitter.on(contextGuid,()=>{ 
        if(!socket.disconnected){ 
         getUserListing(); 
        } 
       }); 

von dieser, ich dann Feuer Kontext Ereignisse nach außen, wenn ich brauche Änderungen zu emittieren, die in dem Kontext des Benutzers Gruppe passiert.

So ist das Problem, das ich habe, eher ein Haushaltsproblem. Gibt es eine Möglichkeit, einen bestimmten Listener auf dem Emitter zu töten, da alle denselben Namen haben (Kontext-GUID), da ich derzeit viele Listener für jeden Socket erzeuge.

Dank

Antwort

0

Wenn Sie nur einen Zuhörer töten wollen das gleiche sintax über die Zuhörer Initialisierung verwenden, aber in den Parametern null setzen!

myEmitter.on(null); 
+0

Würde das nicht alle Zuhörer töten? Ich muss nur einen bestimmten töten, aber sie sind alle gleich benannt, Prost! –

+0

Der Code, den ich geschrieben habe, wird nur die Listener-Verknüpfung mit der myEmitter-Variable beenden. Wenn Sie den gleichen Listener in mehr als einem Objekt haben, ist jeder Körper noch ohne myEmitter am Leben –

Verwandte Themen