【发布时间】:2020-04-01 19:03:03
【问题描述】:
我正在尝试返回某个用户喜欢的事件列表,但代码返回的数组似乎总是为空(返回在我的 for 循环之前执行)。
router.route("/app/mylikes").get(async function(req, res, next) {
var mylikes = [];
const likes = await Like.find();
likes.forEach(element => {
bcrypt.compare(req.user.device_uuid, element.device_uuid, function(
err,
isMatch
) {
if (isMatch) {
mylikes.push(element.event_id);
}
});
});
res.send(mylikes);
});
用户的 uuid 在表中被散列,所以我先使用 bcrypt 进行比较,然后将其添加到我的“mylikes”数组中。
在 Promises/await/async 方面我仍然是个菜鸟,因此感谢您提供任何帮助。
【问题讨论】:
-
我可能会在网上搜索类似“javscript 等待异步循环”的内容;这里有很多关于 SO 和一般网络的答案。
标签: node.js express promise async-await bcrypt