簡體   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