Ho una classe nella mia applicazione nodejs con il seguente codice:Promessa è in attesa di
var mongoose = require('mongoose');
var Roles = mongoose.model('roles');
var Promise = require("bluebird");
module.exports = Role;
var err = null;
var id;
function Role(name, companyId) {
this.err = err;
this.name = name;
this.companyId = companyId;
this.id = getId(name, companyId);
}
var getId = function (name, companyId) {
return new Promise(function(resolve, reject) {
Roles.findOne({companyId:companyId, name:name}, function(err,result) {
resolve(result._id);
});
});
};
Quando io chiamo la classe, l'id è in attesa:
var currentRole = new Role(myRole, comId);
console.log(currentRole);
Come posso ottenere il valori della classe quando vengono risolti?
Si dovrebbe rifiutare quando c'è un errore. – Bergi
Dai un'occhiata a [È una cattiva pratica che una funzione di costruzione restituisca una Promessa?] (Http://stackoverflow.com/q/24398699/1048572) - probabilmente non vuoi fare 'currentRole.id.then (...) ' – Bergi