Socket 赋值
发布于 2天前 作者 kingche 99 次浏览 来自 问答
angular.module('xx').factory('xxxx', ['Socket', 'xx',  
  function(Socket, xx) {
    var onlineUsers = [] ;
    Socket.on('online', function (info) {
       ……
       onlineUsers = info.onlineUsers;
       console.log('first online user:'+onlineUsers[0].username);//ok,此处可以正常打印onlineUsers的值
    }); 
    console.log('first online user:'+onlineUsers[0].username);//此时在打印onlineUsers的值,为什么为空了?
    return {
      onlineUsers: onlineUsers  //此处已为空值
      }
  }
]);
\n```
1 回复

异步的问题, function (info) { …… onlineUsers = info.onlineUsers; console.log('first online user:’+onlineUsers[0].username);//ok,此处可以正常打印onlineUsers的值 } 这个function 是socket事件触发后,参数info才有值, console.log('first online user:’+onlineUsers[0].username);//此时在打印onlineUsers的值,为什么为空了? return { onlineUsers: onlineUsers //此处已为空值 } 这里 info 没有值,因为callback还没调用

回到顶部