执行以下代码时出现此错误:
getAggregatedRatings(query).then(ratings=>{
if(ratings){
return res.json(ratings);
}else{
return res.send(200);
}
}).catch((error)=>{
return res.send(500);
});
function getAggregatedRatings(query){
movieRating.aggregate(query)
.exec((err, ratings)=> {
if (err || !ratings) {
return Promise.reject(err);
}
else {
return Promise.resolve(ratings);
}
});
}
请注意,“ getAggregatedRatings”将按预期返回查询结果。
请告知我我做错了。
最佳答案
您的getAggregatedRatings
函数未返回承诺,或与此相关的任何内容,这说明了为什么尝试访问它时结果不确定。
尝试将其更改为此:
function getAggregatedRatings(query){
return new Promise((resolve, reject) => {
movieRating.aggregate(query)
.exec((err, ratings)=> {
if (err || !ratings) {
reject(err);
}
else {
resolve(ratings);
}
});
})
}
关于node.js - Node.js-无法读取未定义的属性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49601860/