#javascript #websocket
#язык JavaScript #websocket
Вопрос:
Я пытаюсь получить доступ к методу из класса внутри назначенной функции для события websocket, даже если я вызову его с помощью ключевого слова «this», функция не сможет его увидеть.
'use strict'; let clientSocket = undefined; window.addEventListener("load", function() { class ClientSocket { id = undefined; constructor(id) { this.id = id; } printMsg = (obj) =gt; { if (obj === null || obj === undefined) return; if (this.isDebug) { console.debug(obj) } } conecta() { const url = "ws://localhost:5000"; this.printMsg('URL: ' url) const socket = new WebSocket(url); //on open socket.onopen = function (event) { this.printMsg("SOCKET OPEN"); //CAN'T ACCESS THIS METHOD EVEN WITH 'THIS' } this.socket = socket; } } clientSocket = new ClientSocket(1); });
При событии сокета onopen функция не может получить доступ к методу printMsg() из clientSocket.