У меня есть класс в моем nodejs приложения со следующим кодом:Promise находится на рассмотрении
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);
});
});
};
Когда я звоню класс, идентификатор находится на рассмотрении:
var currentRole = new Role(myRole, comId);
console.log(currentRole);
Как я могу получить значения из класса при их разрешении?
Вы должны «отклонить», когда есть «ошибка». – Bergi
Посмотрите на [Неправильная практика, чтобы функция-конструктор возвращала Promise?] (Http://stackoverflow.com/q/24398699/1048572) - вы, вероятно, не хотите делать 'currentRole.id.then (...) ' – Bergi