我正在寫一個函數,我希望能夠返回我的Mongoose查詢數據,所以我可以使用它。但是,我只能在.exec函數中訪問sum。如何在外部獲取它,以便在函數調用時返回?在Mongoose之外的函數中返回數據
function get_likes(user){
var Image = require('./models/image');
var query = Image.find({'author' : user});
query.exec(function (err, collected) {
if (err) return console.error(err);
var sum = 0;
for(var i=0;i<collected.length-1;i++){
sum += collected[i].like_count;
}
// I CAN PRINT SUM HERE
console.log(sum);
return sum;
});
// SUM DOESN'T EXIST OUT HERE.
return sum;
}
好,變量的作用域到'function',所以你可以聲明上面的'你要發送的回調函數sum'到'query.exec()'。 ......但如果這是異步的,那麼這些都不重要。 – Antiga