【发布时间】:2021-04-11 14:35:58
【问题描述】:
const returnPostData = async (req, res, initialPostsQueryArray) => {
const promises = initialPostsQueryArray.map((post) => {
let postObject;
voteCount = sumValues(post.voting_options);
pool.query('SELECT voting_option FROM votes WHERE user_id = $1 AND post_id = $2',
[req.user.userId, post.post_id],
(error, results) => {
if (error) {
console.log(error);
return res.json({'Error': error.detail});
}
userVoteOption = results.rows[0].voting_option;
});
postObject.voteCount = voteCount;
postObject.userVoteOption = userVoteOption;
return postObject;
});
return Promise.all(promises).then(postData => {
return res.json(postData);
})
}
我正在尝试为每个帖子返回一个 postObjects 数组。出于某种原因,它继续为这些对象打印 null ,因为返回的 res.json 甚至在承诺完成之前就以某种方式运行。任何帮助表示赞赏。
我之前遇到过这个问题,使用了相同的代码,但由于某种原因它对这个问题不起作用。
【问题讨论】:
-
我已经回滚了编辑并将在your new question讨论新代码
标签: node.js postgresql promise array.prototype.map