node.js – Angularjs socket.io服务

嗨,我正在构建一个 angularjs服务,它将通过socket.io使用websockets与后端(node.js)进行通信.我在网上找到了一段代码,但我不太明白它是如何工作的.特别是在“var args = arguments”下的行上.救命?

angularjs_service.js

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,function () {
        var args = arguments;
        $rootScope.$apply(function () {
          if (callback) {
            callback.apply(socket,args);
          }
        });
      })
    }
  };
});

解决方法

这就是javascript背叛了对未命名变量的厌恶.变量arguments引用传递给函数的参数数组.你看到的是角度代码抓取函数参数的数组并将它们传递给apply.

function(myVar1,myVar2){
    console.log(arguments.length);
}

输出2.

资料来源:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions_and_function_scope/arguments

相关文章

这篇文章主要介绍“基于nodejs的ssh2怎么实现自动化部署”的...
本文小编为大家详细介绍“nodejs怎么实现目录不存在自动创建...
这篇“如何把nodejs数据传到前端”文章的知识点大部分人都不...
本文小编为大家详细介绍“nodejs如何实现定时删除文件”,内...
这篇文章主要讲解了“nodejs安装模块卡住不动怎么解决”,文...
今天小编给大家分享一下如何检测nodejs有没有安装成功的相关...