【发布时间】:2019-02-08 15:10:59
【问题描述】:
我想知道从 Mongoose 方法返回数据的标准方法是什么。从我在网上看到的示例来看,一种常见的方法似乎是在方法中包含一个回调作为参数。
例如,我的用户模型上可能有一个 findFriends 方法
UserSchema.methods.findFriends = callback => {
...
return callback(null, friends);
};
为了在我的应用程序中使用这个方法,我已经通过创建一个 Promise 来完成工作。但我的解决方案感觉很笨拙,可能不是最佳实践。我应该在 UserSchema 的方法中实现承诺吗?我从来没有见过这样的做法,这就是为什么我很想知道其他一些观点。
const user = User.findOne();
friendsPromise = new Promise((resolve, reject) => {
user.findFriends((error, friends) => {
if(! error) {
resolve(friends);
} else {
reject(error);
}
});
});
friendsPromise.then(friends => {
console.dir(friends);
});
【问题讨论】:
标签: mongoose