Socket 赋值
发布于 6 年前 作者 kingche 2712 次浏览 最后一次编辑是 4 年前 来自 问答
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还没调用

回到顶部