这是我的Java脚本对象。将此传递给回调函数?
HelloObject(server) {
this.server = server;
this.socketio = require("socket.io");
}
HelloObject.prototype = {
constructor: HelloObject,
listen: function() {
this.serverProcess = this.socketio.listen(this.server);
this.serverProcess.sockets.on('connection', this.connect);
},
connect: function(socket) {
}
}
// I am invoking the object
var socketServer = new HelloObject(server)
// Meaning "this" will refer to sockerServer
socketServer.listen()
对不起,可能是一个愚蠢的问题,我是新来的JavaScript。 我需要将“this”传递给this.connect函数。 我已经尝试this.connect.apply(this),结果发生的是我失去了套接字对象。
闭包或绑定都可以工作。在某些情况下(但不是你的),当使用附加到所有函数的'Function.apply(thisObject,argumentsArray)'调用函数时,可以设置'this'。 – Paul