首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AngularJs和SocketIo

问AngularJs和SocketIo
EN

Stack Overflow用户
提问于 2015-10-07 09:03:52
回答 1查看 67关注 0票数 0

我需要一些帮助来理解下面的代码。它摘自:http://www.html5rocks.com/en/tutorials/frameworks/angular-websockets

代码语言:javascript
复制
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);
          }
        });
      })
    }
  };

我很难理解:

  1. arguments是从哪里来的
  2. callback.apply是什么?它在做什么?
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-07 09:08:16

这是基本的JavaScript,与AngularJS或Socket.io无关。

arguments是每个函数内部可用的“神奇”变量,可以以类似数组的方式访问它的参数。

Function#apply是一种使用不同的this上下文调用函数的方法,提供arguments作为第二个参数。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32988065

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档