Socket.io löst mehrere Ereignisse aus

8

Socket.io scheint mehrere Nachrichten exponentiell zu feuern, hier ist ein Beispiel, das ich führe, das das Problem verursacht.

Kundenseite:

%Vor%

Serverseite:

%Vor%

Aus irgendeinem Grund werden bei jedem Klick auf die Schaltfläche die Ereignisse mehrfach ausgelöst und exponentiell ansteigend. Ich habe versucht, herauszufinden, was zum Teufel ist los, aber kein Glück, es zu debuggen oder online zu suchen.

    
Joseph Shering 12.06.2013, 03:58
quelle

1 Antwort

24

Bei jedem Aufruf des Click-Handlers werden zusätzliche Ereignis-Listener an den Socket angehängt. Die Listener, die Sie bei den vorherigen Klicks angefügt haben, bleiben aktiv. Sie müssen entweder removeListener oder removeAllListeners , um alte Listener zu entfernen, oder Sie müssen den Listener-Code außerhalb des Click-Handlers verschieben, damit er nicht mehrmals aufgerufen wird.

Zum Beispiel:

%Vor%     
Bret Copeland 12.06.2013, 04:13
quelle

Tags und Links