Tengo una clase CustomStore, en su constructor me conecto a una tabla Mongo. En clase tengo una función saveToken() que guarda datos en una tabla.
class CustomStore extends TokenStore { constructor(){ connectDb(function(){ console.log("Connected to db") }); } Esta es la función connectDb() llamada en el constructor
function connectDb(callback){ let url = 'mongodb://localhost/zoho_whatsapp'; let dbName = 'zoho_auth'; let client = new MongoClient(url, { useNewUrlParser: true }); client.connect((err) => { if (err) { throw err; } let db = client.db(dbName); let collection = db.collection('oauthtokens'); callback(collection, client, db); }); } Y esta es la función saveToken()
saveToken(user, token) { console.log("The token is saved"); } }Ahora quiero llamar a la función desde otro archivo.
new zohoPersists.CustomStore().saveToken (user, token);Pero la función se ejecutó antes que el constructor y aún no me he conectado a la tabla de Mongo. ¿Necesito escribir una función de promesa? no se lo suficiente...
Gracias