Socket.io: removeListenerはリスナーを削除しません

作成日 2014年03月08日  ·  4コメント  ·  ソース: socketio/socket.io

私は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);
        }

これにより、時間の経過とともにリスナーが重複することになります。

最も参考になるコメント

2年以上経った今でも同じ問題に直面しています。 単一のリスナーを削除することは基本的なことだと思います。

全てのコメント4件

これはまだ問題です。 removeListenerを使用すると、イベントは削除されませんが、removeAllListenersを使用すると機能します。

+1のみremoveAllListenersが正しく機能している

2年以上経った今でも同じ問題に直面しています。 単一のリスナーを削除することは基本的なことだと思います。

これに対する解決策はまだありますか?

このページは役に立ちましたか?
0 / 5 - 0 評価