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,想问一下移除监听要怎么弄??
removeListener的第二个参数 callback的句柄要求和addEventListener时候的句柄是同一个哟。。。
p.s. 以后代码别贴图。。。直接上代码,否则谁高兴给你一句句打出来。