Me gustaría usar los datos de la variable global y asignarle los datos de respuesta de WebSocket, pero dentro de la función, los datos que se muestran afuera no están definidos.
¿Como puedo resolver esto?
var data; client.onopen = () => { console.log("WebSocket Client Connected!"); }; client.onmessage = (message) => { data = message.data; console.log(data); // json data in console }; client.onerror = function () { console.log("Connection Error"); }; console.log(data); // undefinedDebido a que el último console.log ocurre antes de que ocurra el evento de socket, la variable no está definida. Si desea ver la variable, debe llamarla por función después de que se emita el evento de socket.
La variable de datos no está definida en el momento en que se ejecuta console.log , intentó registrar la variable en la consola antes de que su cliente recibiera el mensaje.