【发布时间】:2021-03-17 15:13:55
【问题描述】:
我得到了这个 API 控制器:
exports.doctorsList = async (req, res) => {
const users = await User.find().exec();
let responseArray = await users.map(async (user) => {
const transaction = await MedicalConsultation.find({
doctorOwner: user._id,
}).exec();
let cpLength = transaction.length;
return await {
_id: user._id,
name: user.name,
email: user.email,
specialty: user.specialty,
role: user.role,
createdAt: user.createdAt,
c_p: cpLength,
status: user.status,
};
});
console.log(responseArray);
res.json(responseArray);
};
在 console.log 中我得到了:
[ Promise { <pending> }, Promise { <pending> }, Promise
{ <pending> } ]
编写该代码的正确方法是什么?或者如何获取值?
【问题讨论】:
-
尝试将
return await { ...改为return { ...。 -
完成! - 不起作用;(仍然是相同的结果...
-
尝试删除前两个等待并只保留事务 = 等待 ....
-
同样的结果,[ Promise {
},Promise { },Promise { } ], -
@pzaenger 不,不要那样做。对象字面量不是一个承诺。
标签: express mongoose promise async-await