Tengo un servidor construido con ExpressJS. Ahora, deseo acceder a mi instancia de socket io desde cualquier lugar de mi aplicación después de la inicialización, así que intenté mantenerlo en un método estático.
Pero, cada vez que invoco el método estático, sigo recibiendo este error:
AppServer.getServerSocket no es una función
Aquí está mi código:
const ServerSocket = require('./sockets/server_socket'); class AppServer { constructor() { this.initServerSocket(server); } initServerSocket(server) { this.serverSocket = new ServerSocket(server); } static getServerSocket() { //Whenever I invoke this I keep getting the error: AppServer.getServerSocket is not a function return this.serverSocket; } start() { const port = process.env.PORT || 8000; server.listen(port, function () { console.log(`Server running on port ${port} in ${app.get("env")} mode`); }); } } let appServer = new AppServer(); appServer.start(); module.exports = AppServer;Así es como intenté acceder a él en otro archivo
... const AppServer = require('../server'); function emitEvent(event){ AppServer.getServerSocket().io.emit(event); //Error, AppServer.getServerSocket is not a function }¿Cómo puedo resolver esto, por favor?