我试图从mongoose查询获取数据,这是在另一个js文件中返回我在一个js中使用promise来查找来自一个集合的数据,并且我已经调用了另一个js。
我的代码:
config.js
module.exports = {
FindinCol1: function() {
console.log("Inside promise")
mongo.configuration.findOne({}).exec()
.then(function(user){
// var result = [];
console.log("user");
resolve(user);
})
.then(undefined, function(err){
console.log(err)
})
}
};
route.js
更新
var siteconfig = require('./config');
siteconfig.FindinCol1().then(function(items) {
console.info('The promise was fulfilled with items!', items);
}, function(err) {
console.error('The promise was rejected', err, err.stack);
});
我不知道自己犯了什么错误。
答案 0 :(得分:0)
您所看到的不是promise的未定义解析,而是由不返回任何内容的函数返回的未定义值。
您必须返回findOne({}).exec()
module.exports = {
FindinCol1: function() {
console.log("Inside promise");
// notice return...
return mongo.configuration.findOne({}).exec()
.then(function(user){
console.log("user");
return user; // no need for "resolve" here, which looks undefined anyway
})
.catch(function(err){ // use catch for errors
console.log(err);
});
}
};