Socket.io: removeListener entfernt den Listener nicht

Erstellt am 8. März 2014  ·  4Kommentare  ·  Quelle: socketio/socket.io

Ich habe diesen Wrapper für socket.io:

on: function (eventName, callback) {
            console.log('socket on hit');
            socket.on(eventName, function () {
                var args = arguments;
                $rootScope.$apply(function () {
                    callback.apply(socket, args);
                });

            });

            //removes duplicate listener
//            console.log('about to remove a listener') ;
            socket.removeListener(eventName, callback);
        }

Dies hinterlässt bei mir im Laufe der Zeit doppelte Zuhörer.

Hilfreichster Kommentar

Wir haben immer noch das gleiche Problem mehr als 2 Jahre später. Ich denke, das Entfernen eines einzelnen Hörers sollte etwas Grundlegendes sein.

Alle 4 Kommentare

Dies ist immer noch ein Thema. Wenn ich removeListener verwende, wird das Ereignis nicht entfernt, aber die Verwendung von removeAllListeners funktioniert.

+1 nur removeAllListeners funktioniert ordnungsgemäß

Wir haben immer noch das gleiche Problem mehr als 2 Jahre später. Ich denke, das Entfernen eines einzelnen Hörers sollte etwas Grundlegendes sein.

schon eine lösung dafür?

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen