首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >订阅字段必须返回异步Iterable。收到:未确定

订阅字段必须返回异步Iterable。收到:未确定
EN

Stack Overflow用户
提问于 2021-04-11 07:50:01
回答 1查看 713关注 0票数 0

我在阿波罗服务器上使用graphql nodejs。当我尝试时,我得到了这个错误:

我已经在解析器中返回pubsub.asyncIterator了。它会返回错误。另一个项目相同的设置工作,但在那里,它不起作用。我在这里检查了一些堆栈问题,但我无法解决。

服务器:App.js

代码语言:javascript
复制
const express = require('express');
const mongoose = require('mongoose');
const { ApolloServer } = require('apollo-server');


const { mainSchema } = require('./graphql/schemas/index');
const { rootResolver } = require('./graphql/resolvers/index');

const app = express();


const server = new ApolloServer({
typeDefs: mainSchema,
resolvers: rootResolver,
subscriptions: {
         path: `/graphql`,
         onConnect: (connectionParams, webSocket, context) => {
         console.log('Client connected');
},
onDisconnect: (webSocket, context) => {
         console.log('Client disconnected')
    },

  },
});

server.listen(3000, "192.168.1.106").then(({ url }) => {
console.log(`  Server ready at ${url}`);
});

订阅解析器

代码语言:javascript
复制
    Subscription :{
    userNotifications : withFilter(
            ()=>pubSub.asyncIterator(NEW_NOTIFICATION_CREATE),
            (payload, variables)=>{
                console.log("payload=>", payload);
                console.log("variables=>", variables);
                return true
            }
        )}}

PubSub.js

代码语言:javascript
复制
  const { PubSub } = require('graphql-subscriptions')

  const pubSub =new PubSub()

  exports.pubSub = pubSub;
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-04-17 14:07:53

我必须使用subccribe关键字来定义subs。谢谢我。订阅:{ userNotifications : withFilter(子代码:userNotifications(有效载荷,变量)=>{ console.log("payload=>",有效载荷);console.log("variables=>",变量);返回true }}

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67042611

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档