Estoy tratando de hacer una clase Singleton para guardar alguna variable y usarla de otra clase. Pero recibo el siguiente error cuando intento acceder a él.
TypeError: Singleton.createInstance is not a function at /Users/pankajsachdeva/Desktop/Pankaj/My Code/SmilaApp/SmilaApi/app.js:17:35 at Layer.handle [as handle_request] (/Users/pankajsachdeva/node_modules/express/lib/router/layer.js:95:5) at next (/Users/pankajsachdeva/node_modules/express/lib/router/route.js:137:13) at Route.dispatch (/Users/pankajsachdeva/node_modules/express/lib/router/route.js:112:3) at Layer.handle [as handle_request] (/Users/pankajsachdeva/node_modules/express/lib/router/layer.js:95:5) at /Users/pankajsachdeva/node_modules/express/lib/router/index.js:281:22 at Function.process_params (/Users/pankajsachdeva/node_modules/express/lib/router/index.js:341:12) at next (/Users/pankajsachdeva/node_modules/express/lib/router/index.js:275:10) at expressInit (/Users/pankajsachdeva/node_modules/express/lib/middleware/init.js:40:5) at Layer.handle [as handle_request] (/Users/pankajsachdeva/node_modules/express/lib/router/layer.js:95:5)La siguiente es mi clase de Singelton:
var mySingleton = (function() { let instance; let message; function createInstance() { if (!instance) instance = { setMessage, getMessage }; return instance; } function setMessage(newMessage) { message = newMessage; } function getMessage() { return message; } return { createInstance } })();Estoy tratando de usarlo en la siguiente clase:
const express = require('express') const Singleton = require('./mySingleton'); const app = express() const port = 3000 app.post('/readyforunlock', (req, res) => { var firstInstance = Singleton.createInstance(); firstInstance.setMessage("Message"); console.log(firstInstance.getMessage()); res.send(firstInstance.getMessage()); }) app.listen(port, () => { console.log(`Example app listening on port ${port}`) })Soy muy nuevo en Node.js y no puedo entender por qué no funciona. Estoy tratando de establecer alguna variable en una API y acceder a ella desde otra API. Estoy tratando de lograr esto usando Singleton. También hágame saber si este enfoque es correcto o si hay mejores opciones.
Saludos