我有一个函数可以获取mongodb集合中的所有记录。
var getVouchers= function(){
Customer.find({}, function(err, result) {
if (err) throw err;
return result;
});
};
我这样打电话,当我设置断点时,我可以看到结果。问题是,当我调用此函数时,它不会等待。
因为它是nodejs,所以我将函数导出如下
module.exports.getVouchers =getVouchers;
我这样打电话
var router = require('./api');
adminPanel.get('/', (req,res)=>
{
router.getVouchers().then((result)=>{
console.log(result);
});
});
我遇到了以下异常
(节点:26972)[DEP0016]弃用警告:不建议使用“ GLOBAL” “全球”
如果我不使用GLOBAL
关键字
如何解决这个问题?
编辑:
我现在更新了我的代码
var getVouchers = function() {
// `delay` returns a promise
return new Promise(function(resolve, reject) {
Customer.find({}, function(err, result) {
if (err) throw err;
return result;
});
});
}
我将函数称为
(async function(){
let vouchers=await router.getVouchers();
console.log(vouchers);
})();
第一个函数具有结果,但是没有返回值,这意味着它永远不会出现在console.log部分。
编辑2:
我没有做出返回结果,就像@ ajuni880所说的那样,我做出了决心(结果);并且现在可以使用。