【发布时间】:2021-09-08 21:52:17
【问题描述】:
我正在尝试在 mongo 之上构建一个服务层。我有一个User 对象,它有一个引用的Achievements 数组。
我通过JWT或其他方式对用户进行身份验证后,进入服务层,查询关系如下。
findForUser(userId: string | Types.ObjectId): Promise<Achievement[]> {
return new Promise((resolve) => {
UserSchema.findOne({ _id: userId },
async (err: any, user: User) => {
const AchievementMap: Achievement[] = [];
if (err) throw new Error(err);
user.achievements?.forEach((a) => {
// @ts-ignore
AchievementMap.push(a);
});
resolve(AchievementMap);
});
});
}
什么是异步/等待方法来返回传递给UserSchema.findOne的回调方法的结果?
【问题讨论】:
标签: javascript typescript async-await