CNode

js中成员函数如何调用自身

问答
Iinsisthzr发布于10 年前最后回复10 年前2 回复5568 浏览0 收藏
function SocketIO() {
    this.socket = null;
	this.reconnect=null
}

SocketIO.prototype.start = (server)=> {
    let self = this;
    this.socket = so(server);
	this.socket.on('connect', ()=> {
		self.waitType()
    });
    this.socket.on('disconnect', ()=> {
            self.socket = self.start(self.reconnect);
    });
};

SocketIO.prototype.waitType = ()=> {
    let self = this;
    process.stdin.setEncoding('utf8');
    process.stdin.on('readable', () => {
        let chunk = process.stdin.read();
        let cmds = chunk.trim().split(' ');
        switch (cmds[0]) {
            case 'connect':
                self.reconnect = cmds[1];
                break;
        }
    });
};
查看回复

回复 (2)

G
gjc9620#1·10 年前

这样输出的this会指向全局对象的 给匿名函数取个名字就好 ··· SocketIO.prototype.waitType = function waitType(a, b){ waitType(a, b, c) } ···

参与回复
登录后即可参与回复。登录