我试图返回某个用户喜欢的事件列表,但是代码返回的数组似乎总是空的(返回在我的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,我仍然是菜鸟,因此可以提供任何帮助。
我正在尝试返回某个用户喜欢的事件列表,但是代码返回的数组似乎总是空的(返回在我的for循环之前执行)。 router.route(“ / app / mylikes”)。get(...
您正在使用bcrypt.compare
的回调系统,但是当省略回调参数时,还会有一个promise interface for it: