在NodeJS应用程序中,我正在构建一个API,该API首先从tarrifs集合中获取所有tarrifs名称,然后基于所有这些tarrifs,我想返回分配给我尝试过以下代码的用户的这些关税计数
router.get('/getTarrifDetails', (req,res,next) => {
result=[];
tname=[];
counts=[];
Tarrif.find().distinct('tarrif_type', (err,docs) => {
docs.forEach((ele) => {
tname.push(ele);
User.countDocuments({tarrif_type:ele}, (uerr,usr) => {
counts.push(usr);
});
result.push(ele);
});
result.push(counts);
});
});
当我console.log(result)
时,它仅显示tarrif_type
的一个数组,而另一个数组为空
答案 0 :(得分:1)
您需要了解事件循环的工作原理。我曾经在这里,一次犯了同样的错误。
尝试同步回调,因为您想按顺序进行,就像这样:
WebClient.Builder
我不确定这是否可以100%使用,但是请尝试一下并进行调试。