作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是 Node.js 的新手,我想将数据数组传递给 Controller 。但是我无法在数组中插入 for 循环数据,我还想从辅助函数中获取结果数据。
router.get("/list-group", function(req, res) {
sess = req.session;
var response = {};
if (sess.loginData) {
var TableData = [];
var i = {};
var result = [];
mongoOp.users_group.find({
group_id: req.query.group_id
}, function(e, d) {
var len = d[0].assign_user_id.length;
var assignuserid = d[0].assign_user_id;
for (var i = 0; i < assignuserid.length; i++) {
var assignid = assignuserid[i];
mongoOp.users.find({
_id: assignid
}, function(err, data) {
// This is result array
result[i] = data;
})
}
// And I want to print result array here
console.log(result);
});
} else {
response = {
"error": true,
"message": "Invalid Login"
};
res.json(response);
}
})
最佳答案
我会使用 async
和 await
router.get('route', (req, res) => {
// ...
users.find(query, (err, d) => {
try {
// ...
var results = []
for (var data of array) {
const result = await fetchUser(data)
results.push(result)
}
console.log(results)
} catch (err) {
console.log('some error occured', err)
}
})
})
async function fetchUser(id) {
return new Promise((resolve, reject) => {
users.find({ _id: id }, (err, data) => {
return err ? reject(err) : resolve(data)
})
})
}
如果您对async
和await
不太熟悉,我会推荐this video
关于javascript - 我如何在 mongoOp 查找查询之外的 Node js 中打印结果数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52792209/
我已经使用 springboot 完成了一个示例应用程序,使用以下引用连接两个数据库 https://dzone.com/articles/multiple-mongodb-connectors-wi
我是 Node.js 的新手,我想将数据数组传递给 Controller 。但是我无法在数组中插入 for 循环数据,我还想从辅助函数中获取结果数据。 router.get("/list-grou
我是一名优秀的程序员,十分优秀!