Я использую Node.js с Socket.io для связи с клиентом на моем сервере ...Socket.io клиента в пределах объекта
Например:
На моем сервере, у меня есть User
класс, который содержит основную информацию и функции о каждом пользователе. Каждый раз, когда кто-то подключается, новый объект User
будет создан и добавлен в массив users
с обработанным объектом Socket.IO client
. Вот код:
// Set up server, Socket.IO, etc.
users = [];
var User = function(client) {
this.value = "some random value";
this.client = client;
this.client.on("event",function(data) {
// Do stuff with data
});
}
socket.on("connection", function(client) {
users.push(new User(client));
});
Моя проблема заключается в следующем: при получении сообщений с Socket.io .on()
, я хочу сделать Наполните User
объект, который client
находится в собственности. Но проблема в том, что доступ к this
не имеет доступа к объекту User
, а скорее к объекту client
(или, по крайней мере, я так думаю, но это не User
, а скорее некоторый объект Socket.IO). Даже когда я ссылаюсь на функцию .on()
, чтобы вызвать функцию в моем объекте, например this.event
, в моем User
объекте, я до сих пор не могу получить доступ к моему объекту User
с this
. Я попытался создать локальную переменную в каждом объекте с именем self
и установить ее на this
, например: self = this;
, но я не могу редактировать this
, но только self
.
Любые идеи?