簡體   English   中英

NodeJS WebSocket 中的局部持久變量

[英]Local persistent variables in NodeJS WebSocket

我正在嘗試為每個 WebSocket 連接制作持久變量player ,如下所示:

Server.on('request', function(request) {
    const WSCon = request.accept(null, request.origin);
    var player = "none";
    WSCon.on('message', function(message) {
        if (data.action == 0) HandleRoomEnter(player);
        if (data.action == 1) HandleReadyness(player);
    });
});

function HandleRoomEnter(player) {
    player = "Conan";
    console.log("setting: "+player);
}
function HandleReadyness(player) {
    console.log("getting: "+player);
}

但是,我的 output 是:

setting: Conan
getting: none

問題出在哪里?

謝謝,

這是這樣做的正確方法:


Server.on('request', function(request) {
    const WSCon = request.accept(null, request.origin);
    let player = "none";
    function HandleRoomEnter(player) {
        player = "Conan";
        console.log("setting: "+player);
    }
    function HandleReadyness(player) {
        console.log("getting: "+player);
    }

    WSCon.on('message', function(message) {
        if (data.action == 0) HandleRoomEnter(player);
        if (data.action == 1) HandleReadyness(player);
    });
});

使用 let 或 const 代替 var。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM