【发布时间】:2020-11-19 01:59:35
【问题描述】:
我有一系列帖子并像这样循环浏览每个帖子:
arr = []
obj = {}
await Promise.all(allPosts.map(async (post) => {
let userData = await User.getByUserId(post.user_id);
obj.userData = userData[0];
obj.postDetails = post;
let productData = await Post.getPostTaggedProducts(post.id);
obj.productData = productData;
arr.push(obj)
}))
这是模型中的代码:
User.getByUserId = (id) => {
return new Promise(function (resolve, reject) {
config.query("SELECT * FROM Users WHERE id = ?", id, (err, result) => {
if (err) {
reject(err)
} else {
resolve(result)
}
})
})
}
但是 arr 并没有使用来自回调的新数据推送 obj。仅当从回调接收到数据时,如何确保循环更进一步。谁能告诉我我做错了什么?
【问题讨论】:
标签: javascript node.js express async-await callback