【发布时间】:2021-01-29 22:55:34
【问题描述】:
这是我的代码:
app.post('/update', async (req, res, done) => {
let drive = req.app.get('drive');
let fileId = req.body.id;
let subject = req.body.subject;
let grade = req.body.grade;
let industry = req.body.industry;
await TagFile.findOne({id: fileId}, (err, res) => {
if (err) return console.log(err);
//console.log(res);
//console.log(subject);
takeRes(res);
})
function takeRes(res) {
for (let i = 0; i > subject.length; i++) {
if(!res[0].subject.includes(subject[i])) {
res[0].subject.push(subject[i]);
console.log(res[0].subject)
console.log("first was called")
}
else {
console.log(res[0].subject)
console.log("else was called.")
}
}
}
})
这是来自我的网站的发布请求。当它到达需要使用 for 循环的步骤时,我在控制台中没有从 if else 语句中得到任何东西。我知道这可能与异步有关,但我并不完全理解它,并且希望朝着正确的方向前进。谢谢!
【问题讨论】:
-
当您通过控制台登录
res时,它会给您什么? -
在 for 循环之外,我得到了我需要的结果。不过,在 for 循环中,我什么也没得到。甚至没有“未定义的 res”,只是在 for 循环中没有显示任何内容。有任何想法吗? @luckongas
-
如果你的问题没有解决,请留言,否则接受我的回答
标签: javascript node.js mongodb for-loop mongoose