否则,如果在客户端浏览器中未对语句进行评估-javascript socket.io

时间:2019-06-10 22:34:56

标签: javascript if-statement socket.io

我正在以Slack的方式实现基本的聊天,而此时我想让用户可以选择彼此私下发消息。

当一个用户向另一个用户发送私人聊天请求并被另一个用户接受时,每个用户的浏览器中应出现一个带有另一个用户名的按钮。

问题在于,此刻,每个用户的界面中都出现一个按钮,但是只有发送请求的用户(用户1)获得了带有其他用户名的按钮,而另一个仅获得了没有文本的按钮。在里面。代码如下:

socket.on("setting up private chat buttons", data => {

    privateChannelButton = document.createElement('button');
    privateChannelButton.className = "new-button btn btn-dark";

    if (localStorage.getItem('userName') == data["user 1"]){

        privateChannelButton.innerHTML = data["user 2"];    
        console.log("case 1 happened");

    }

    else if (localStorage.getItem('userName') == data["user2"]) {

        privateChannelButton.innerHTML = data["user 1"];
        console.log("case 2 happened");

    }

    document.querySelector('#channels').appendChild(privateChannelButton);
});

如果我查看控制台输出的内容,基本上总是“情况1发生”,就好像其中一个浏览器将第一个条件评估为true一样,它们都跳到了下一个代码块,是按钮的添加。为什么会这样?

0 个答案:

没有答案