这是一个搜索测试题并匹配用户给出的答案并存储在数据库中的函数。Console.log()以随机顺序显示所有6个问题。对于每次迭代,num的值为6。如果我在没有从数据库中找到任何东西的情况下执行console.log(num),那么我正确地显示值1、2、3、4、5、6。
function(req,res){
var arr = [2,1,3,4,1,4],score=0, num=0;
Test.find({name:req.params.testnum}).
populate({
path: 'question',
model: 'Testques'
}).
exec(function(err,test){
console.log(test)
if(err){
res.status(500).send('DB error');
}
else{
arr.forEach(myFunction)
function myFunction(value){
num+=1;
Testques.find({Serialnum:num},function(err,ques){
console.log(num);
if(err){
console.log(err);
}
else{
console.log(ques);
console.log(ques[0].answer);
if(ques[0].answer == value){
score=score+4;
console.log(score);
}
}
})
}
}
})
}https://stackoverflow.com/questions/51314122
复制相似问题