gpt4 book ai didi

javascript - Graphql 解析器未返回任何数据

转载 作者:行者123 更新时间:2023-12-02 22:35:28 24 4
gpt4 key购买 nike

我设置了一个解析器来查询模拟数据库文件(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);
}
});
}

我认为我的 promise 没有按预期发挥作用。有什么见解吗?我的架构都设置正确。我尝试过控制台日志记录

最佳答案

您的getAllUsers函数返回undefined。当解析器返回 undefined 时,意味着无法找到该对象,您应该返回一个 Promise。

return filteredUsers.then((users, err) => {

关于javascript - Graphql 解析器未返回任何数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58759434/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com