微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

尝试将键:值对添加到res.locals.object不起作用节点/快速

如何解决尝试将键:值对添加到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 举报,一经查实,本站将立刻删除。