【发布时间】:2021-10-05 09:45:56
【问题描述】:
我在 reactjs 中使用 WebSocket,但是 WebSocket.send 没有在 onClick 事件上执行。 这里我创建了 WebSocket
const ws = new WebSocket("ws://192.168.18.112:8000/ws/notification/");
连接到 WebSocket
ws.onopen = (e) => {
console.log("connect");
};
这是我的 onClick 函数
const sendNotification = (e) => {
console.log("click");
if (ws.readyState === WebSocket.OPEN && message !== "") {
ws.send("message");
console.log("Sending message"); // this console is execute
} else if (ws.readyState === WebSocket.CONNECTING) {
ws.addEventListener("open", () => sendNotification());
console.log("Connecting state");
console.log("Not Send");
} else {
console.log("nothing happen");
}
};
所以这是我的问题,我无法在我的代码中找到错误或问题。
【问题讨论】:
-
你能发布控制台输出吗?
-
是的,首先连接 ws,然后在函数中随机调用所有条件,但代码行 ``` ws.send("message")`` 被跳过或不执行。
-
更改
console.log(‘click’)以同时记录we.readyState和message。这可能会给你一些关于原因的线索。 -
'sending message' 控制台也被打印出来了
标签: javascript reactjs websocket