繁体   English   中英

在socket.io中使用箭头功能

[英]Using arrow functions with socket.io

我想知道如何使用箭头功能来替换绑定。 我的理解是,我可以使用arrow函数在函数中按词法调用this函数,但是该函数甚至不再被调用。

奇怪的是,我没有收到任何错误,如果使用箭头功能,它只会静默失败。

constructor(socket: SocketIO.Socket
{
    // Works
    socket.on(this.onLogin.name, this.onLogin.bind(this));

    // Doesn't work?
    socket.on(this.onLogin.name, (data: LoginDetails) => this.onLogin);
}


public onLogin(loginDetails: LoginDetails) {
    console.log(this.onLogin.name + " " + this.socketID);
}

您必须在arrow函数内调用该函数。

socket.on(this.onLogin.name, (data: LoginDetails) => this.onLogin(data));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM