我需要使用在模型'toObject'方法中以异步方式接收的数据。
toObject: function() {
var user = this;
return q(Group.find())
.then(function(groups) {
....
return user;
});
},
toJSON: function() {
this.toObject().then(function(user) {
return user;
});
}
这不起作用并且中断了所有策略(用户变得不可用)。
有没有办法可以做到这一点?感谢。
答案 0 :(得分:0)
Sails不会等待toJSON完成。它假定此方法不是异步的。这种逻辑的位置在控制器内部。在例如beforeCreate方法中,你必须调用最后一个param,它是函数,通常称为next(),因为sails会等待它。
beforeCreate: function (values, next) {
bcrypt.hash(values.password, 10, function(err, encryptedPassword){
values.password = encryptedPassword;
next();
})
}