除非它被定义为属性方法?
模型
module.exports = Object.assign({}, sails.config.model, {
attributes: {
...
config / model.js中的通用模型方法
module.exports.model = {
mySaveWithPromise: function(){
return new Promise((resolve, reject) => {
this.save({ populate: false }, function (error) {
if (error) {
reject(error);
} else {
resolve();
}
});
});
}
}
以
触发User.findOne({email: "email@example.com"})
.then(function(user) {
user.firstname = 'newName';
return user.mySaveWithPromise()
});
导致......
TypeError: user.mySaveWithPromise is not a function
我可以将其添加到api/config/models.js
中的attributes
,这很好,但文档警告不要向attributes
添加异步方法。就我而言,我猜测模型的通用输出之类的东西可能会导致保存。
奇怪的是,mySaveWithPromise
确实存在作为对象的关键。我怀疑我只是把这个方法放在一个服务中并将实例传递给它,但我很想知道对象的基本区别。