等待猫鼬在返回之前解决数据
我通过这个数组试图环和用户对象追加到里面的每个对象。如何等待他们每个人返回JSON到客户端之前完成?
Match.find()
.or([{ user_id: req.user._id }, { second_user_id: req.user._id }])
.exec((err, result) => {
if (err) {
return res.sendStatus(500);
}
result.map(async match => {
match.user = await User.findById(req.user._id).exec();
});
return res.json({ matches: result });
});
在这种情况下,数组返回给客户端猫鼬有机会来解决findById查询之前。
回答如下:试试这个,让我知道如何去:
Match.find()
.or([{ user_id: req.user._id }, { second_user_id: req.user._id }])
.exec(async(err, result) => {
if (err) {
return res.sendStatus(500);
}
const results = await Promise.all(result.map(async match => {
match.user = await User.findById(req.user._id).exec();
}));
return res.json({ matches: results });
});
等待猫鼬在返回之前解决数据
我通过这个数组试图环和用户对象追加到里面的每个对象。如何等待他们每个人返回JSON到客户端之前完成?
Match.find()
.or([{ user_id: req.user._id }, { second_user_id: req.user._id }])
.exec((err, result) => {
if (err) {
return res.sendStatus(500);
}
result.map(async match => {
match.user = await User.findById(req.user._id).exec();
});
return res.json({ matches: result });
});
在这种情况下,数组返回给客户端猫鼬有机会来解决findById查询之前。
回答如下:试试这个,让我知道如何去:
Match.find()
.or([{ user_id: req.user._id }, { second_user_id: req.user._id }])
.exec(async(err, result) => {
if (err) {
return res.sendStatus(500);
}
const results = await Promise.all(result.map(async match => {
match.user = await User.findById(req.user._id).exec();
}));
return res.json({ matches: results });
});