typescript - Graphql Appolo Server 不会将绑定函数解析为字段
问题描述
我正在使用 Apollo Server 和 TypeOrm。我想让嵌套关系“懒惰”,所以我写了一些函数来以异步方式获取我的帖子的创建者。
const fetchUser = async (userId: string): Promise<User> => {
return await User.findOne(userId) as User;
}
const transformPost = (post: Post): Post => {
return { ...post, creator: fetchUser.bind(null, post.creatorId) } as Post;
}
然后在解析器中我就这样返回。
return {
posts: posts.slice(0, realLimit).map(post => transformPost(post)),
hasMore: posts.length === realLimitPlusOne
}
所以 post return 对象看起来像这样。
{
id: 302,
title: 'Love Affair, or the Case of the Missing Switchboard Operator (Ljubavni slucaj ili tragedija sluzbenice P.T.T.)',
text: 'In hac habitasse platea dictumst. Etiam faucibus cursus urna. Ut tellus.',
points: 0,
creatorId: 1,
created_at: 2020-03-09T22:34:04.000Z,
updated_at: 2021-03-10T10:16:39.088Z,
creator: [Function: bound fetchUser]
}
但是当我在我的 GraphQL 中调用它时,我得到了
"message": "Cannot return null for non-nullable field User.username.",
解决方案
推荐阅读
- java - 使用 lambda 绑定布尔属性时出现问题 [Java - JavaFX]
- c++ - rapidjson 输出中的订单属性
- reactjs - 使用启用了新 typescript 的 reactjs 版本时超出了最大调用堆栈大小
- sql - 如何将 ListView 中的多个项目保存到 SQL Server 数据库中?
- jquery - 使用 Django 和 jQuery 的过滤器
- reactjs - React Hook useCallback 有一个不必要的依赖:'price'。排除它或删除依赖数组 react-hooks/exhaustive-deps
- facebook - Page Public Content Access\',您对此端点的使用必须经过 Facebook 的审核和批准
- javascript - webpack splitchunks 不能消除重复包
- java - 使用消费者时无法解析方法
- android - 在后台以 xamarin 形式获取位置