我正在尝试使用一些猫鼬值更新数组。但是,只有在array.push位于回调函数内部时,此方法才有效。我尝试了几种编码方式,但是在回调之外,我总是得到一个空数组。这是一些代码:
let y = [];
Shops.countDocuments({ dt_encerramento: { $gte: jan, $lte: abr }})
.then(function(os) {
y.push(os);
})
.catch(err => { throw err; });
console.log(y);
使用异步/等待:
let y = [];
async function docs() {
const numDocs = await Shops.countDocuments({ dt_encerramento: { $gte: jan, $lte: abr }}).exec();
return numDocs;
}
docs().then(function (err,n) { y.push(n); });
console.log(y);
请帮助。我不知道该怎么办...
答案 0 :(得分:0)
我的理解是您没有兑现诺言。
let y = [];
const docs = async () => {
return await Promise.all(Shops.countDocuments({ dt_encerramento: { $gte: jan, $lte: abr }}).exec());
}
const docsToPush = docs()
y.push(docsToPush)
console.log(y);