我想知道我是否通过将我从回调接收到的对象的引用分配给另一个变量来做一些危险的事情,是否有可能“丢失”这些数据?
一个非常简单的例子,发生在服务器端,来自套接字的回调:
var Users [];
socket.on('receive-user', function(User) {
Users.push(User);
});
在这里,我将变量的引用推User
送到我的数组Users
中,但我无法解释User
在范围末尾变成原始变量的内容,那么,这是否危险?此引用是否有可能在下一次回调时更改?
当我从数据库获取模型,甚至将套接字本身存储到User
变量中时,我也会这样做,但我真的想知道这是否不是一个大错误!