Node.js Angularjs socket.io服务
嗨,我正在构建一个angularjs服务,它将通过socket.io使用WebSocket与后端(node.js)通信。我在网上找到了一段代码,但我不太明白它是如何工作的。特别是在“var args=arguments”下的行上。帮忙 angularjs_service.jsNode.js Angularjs socket.io服务,node.js,angularjs,socket.io,angularjs-directive,angularjs-scope,Node.js,Angularjs,Socket.io,Angularjs Directive,Angularjs Scope,嗨,我正在构建一个angularjs服务,它将通过socket.io使用WebSocket与后端(node.js)通信。我在网上找到了一段代码,但我不太明白它是如何工作的。特别是在“var args=arguments”下的行上。帮忙 angularjs_service.js app.factory('socket', function ($rootScope) { var socket = io.connect(); return { on: function (eventNa
app.factory('socket', function ($rootScope) {
var socket = io.connect();
return {
on: function (eventName, callback) {
socket.on(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);
}
});
})
}
};
});
这就是javascript对未命名变量的厌恶。变量
arguments
引用传入函数的参数数组。您看到的是一个角度代码获取函数参数数组并将其传递给apply
function(myVar1, myVar2){
console.log(arguments.length);
}
将输出2
来源:好的,谢谢。$rootScope.$apply(函数(){callback.apply(socket,args);})怎么样;这些线条在做什么?这个框架在angular网站上有很好的文档记录,因为它是一个angular特定的问题。如果这回答了您的问题,如果您接受,我将不胜感激!:D