我是node.js的初学者,所以如果我的问题很愚蠢,请原谅。实际上,我想要做的是通过mongodb的异步函数获取列表在我得到完整列表之后尝试打印出来。虽然我正确地获得了列表,但我不知道为什么它将结果打印为null。即使我认为它可能是一个错误Promise
这就是为什么我尝试使用sync
模块但结果没有变化的原因。任何人都可以帮我修复此错误。
代码:
MongoClient.connect(url,function(err,db){
if(err) throw err;
var arr=[]
getBlocker().then(()=>showList())
Sync(()=>{
getBlocker()
showList()
})
function getBlocker(){
return new Promise(resolve=>{
var blQ={blocked_user:data.tag_search_mail}
db.collection("block_list").find(blQ,{"_id":0}).toArray((err,res)=>{
for(let i=0;i<res.length;i++){
arr.push(res[i]["blocker"])
console.log(res[i]["blocker"])//but here it's printing the result correctly that means I'm getting result
}
})
resolve()
})
}
function showList(){
console.log(arr)//Here it's printing []
}
})