我设置了一个解析器,用于查询模拟数据库文件(一个json)。
Query: {
users: (_,filters,{ dataSources }) => {
console.log(dataSources.userAPI.getallUsers(filters))
return dataSources.userAPI.getallUsers(filters);
}
}
userAPI.getaLlUsers在下面。首先,我要过滤用户列表。然后,对于每个过滤的用户,我想在返回映射的用户之前向其添加更多字段
function getallUsers(args) {
const { targetId,skip,limit } = args;
const filteredUsers = new Promise((resolve,reject) => {
const users = db.users.filter(u => {
if (u.apps[targetId]) return u;
});
if (users.length === 0) return reject();
else return resolve(users);
});
filteredUsers.then((users,err) => {
if (err) console.log(err);
else {
const mappedUsers = users.map(u => {
const withReturnFields = {
email: u.email,fullname: u.fullname
};
return withReturnFields;
});
return mappedUsers.slice(skip,skip + limit);
}
});
}
我认为我的诺言没有按预期实现。有什么见解吗?我的架构都已正确设置。我尝试过控制台记录