如何解决尝试将键:值对添加到res.locals.object不起作用节点/快速
我正在尝试使用res.locals
中间件通过多个MongoDB操作来构建next()
对象。
一旦我向res.locals
添加了一个对象,例如:res.locals.newObject
,接下来我想向{key: values}
添加更多newObject
。
赞:
for(let i=0; i<res.locals.surveys.length; i++){
await Answer.countDocuments({question_oid: {$in: res.locals.surveys[i].questions}).then((result) => {
res.locals.surveys[i]["count_answers"] = result;
})
}
我稍后检查了该对象,它没有键或值。
我也这样尝试过:
res.locals.surveys[i].count_answers = result;
但是那也不起作用。 res.locals对象有技巧吗?
解决方法
除非使用async / await,否则不能将for循环与异步调用一起使用。我建议您进一步了解异步代码及其含义。在线上有大量资源。 https://developer.mozilla.org/en-US/docs/Learn/JavaScript/Asynchronous/Introducing
如果您使用异步等待,请按以下方式更改代码。
const result = await Answer.countDocuments({question_oid: {$in: res.locals.surveys[i].questions});
res.locals.surveys[i]["count_answers"] = result;
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。