我与 Strophe 加入的每个房间都有一个对象。这个对象包含一个用于处理这个特定房间的存在节的函数。
function Room(name, someData)
this.name = name;
this.someData = someData;
this.presenceHandler = function(presence) {
console.log(this.name, this.someData);
}
this.join = function() {
connection.addHandler(this.presenceHandler,null,"presence",null,null,this.name);
connection.send(/*presence*/);
}
}
var connection = new Strophe.Connection(/*http-bind*/);
var mainRoom = new Room("main", {foo: "bar"});
mainRoom.join();
但是,当mainRoom.presenceHandler()
Strophe 的一个节调用该函数时,this
该函数中指的是该节本身,而不是指该节本身mainRoom
,因此我无法从mainRoom
.
你能告诉我,我如何从 presentHandler 函数中访问房间对象的属性?