javascript - angularjs移除socketio监听
PHP中文网
PHP中文网 2017-04-11 11:38:29
[JavaScript讨论组]
app.factory('socket', function($rootScope) {
    var socket = io.connect('http://192.168.220.25:3000');
    return {
        on: function(eventName, callback) {
            socket.addEventListener(eventName, function() {
                var args = arguments;
                $rootScope.$apply(function() {
                    callback.apply(socket, args);
                });
            });
        },
        emit: function(eventName, data, callback) {
            socket.emit(eventName, data, function() {
                var args = arguments;
                $rootScope.$apply(function() {
                    if(callback) {
                        callback.apply(socket, args);
                    }
                });
            })
        },
        removeListener: function(eventName, callback) {
            socket.removeEventListener(eventName, function() {
                var args = arguments;
                $rootScope.$apply(function() {
                    callback.apply(socket, args);
                });
            })
        },
    };
});

angularjs的没办法移除socket,想问一下移除监听要怎么弄??

PHP中文网
PHP中文网

认证0级讲师

全部回复(1)
大家讲道理

removeListener的第二个参数 callback的句柄要求和addEventListener时候的句柄是同一个哟。。。

app.factory(xxx,xxxxxx){
    var socket = xxxxxx;
    var socketHander = function(){
        var args = arguments;
        $rootScope.xxxxxx //balabalabala
        xxxxxxx;
    };
    return {
        on: function(xxxxxxx){
            socket.addEventListener("xxxxxx",socketHander);
        }
        remove: function(xxxxxxx){
            socket.removeEventListener("xxxxxx",socketHander);
        }
    }
    
}

p.s. 以后代码别贴图。。。直接上代码,否则谁高兴给你一句句打出来。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号