我有一个使用graphql订阅进行聊天的应用程序。我成功引入了withFilter
函数,以便过滤将消息发送给哪些客户端,从而成功地使订阅正常工作。我在前端收到以下错误:
订阅字段必须返回异步可迭代。收到:未定义
这是我的订阅解析器:
const { PubSub, withFilter } = require('graphql-yoga');
const pubsub = new PubSub();
pubsub.ee.setMaxListeners(30);
const Subscription = {
detailedConversation: withFilter(
() => pubsub.asyncIterator('detailedConversation'),
(payload, args) => {
return true;
}
)
};
module.exports = {
Subscription,
pubsub
};
由于withFilter的第二个参数必须是一个返回布尔值的函数,因此我刚刚将其设置为暂时返回true。
Graphql-yoga在后台使用了graphql-subscriptions,在阅读了有关实现here的文档后,我看不到我在做什么错了吗?
仅供参考,该错误是在尝试首次订阅对话时发生的,而不是在发送消息或其他内容时发生的