Ошибка: "подписка" определена в преобразователях, но не в схеме.

Index .js

const {GraphQLServer, GrphQLServer, PubSub } = require('graphql-yoga');
const db = require('./db');
const Query = require('./resolvers/Query');
const Mutation = require('./resolvers/Mutation');
const subscription = require('./resolvers/Substription')

const pubsub = new PubSub();



const typeDefs=`

type Query{

me:User!
signlevalue(name:String):String
sum(marks:[Int]):Int!
user:[User]

}




type Mutation{
createUser(id:ID,name:String,email:String):[User]
}


type User{
id:ID
name:String
email:String
age:Int
}


type Subscription{
    
    count:Int
}


`


const resolvers={
    Query,
    Mutation,
    subscription

  

}

const server= new GraphQLServer({
    typeDefs,
    resolvers,
    context:{
        db,
        pubsub
    }
})

server.start(()=>{
    console.log('servr is running on port 4000');
})

Substription.js

  const Subscription={
    count:{
        subscribe(parent,args,{pubsub},info){
            let count=0;
            setInterval(() => {
                count++;
                pubsub.publish('count',{
                    count:count
                })
                
            }, 1000);
            return pubsub.asynsIterateor('count')
            
        }

    }
  
   
}


module.exports = Subscription;

package.json

{
  "name": "sql",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "start": "nodemon src/index.js --ext js,graphql --exec babel-node",
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC",
  "dependencies": {
    "babel-cli": "^6.26.0",
    "babel-preset-env": "^1.7.0",
    "express": "^4.17.1",
    "express-graphql": "^0.11.0",
    "graphql": "^15.3.0",
    "graphql-yoga": "^1.18.3",
    "lodash": "^4.17.20"
  }
}

Я большой специалист в слове graphQL, и я не знаю, что здесь не так, потому что я определил подписку в схеме, но она все еще дает мне ошибку "подписка", определенная в преобразователях, но не в схеме. Я искал ее, но не нашел никакого решения. следуя курсу Эндрю Мида от Удеми

1 ответ

Ваше имя импорта - "подписка" (маленькие буквы), в то время как в определении типа вы используете "подписка" (большие буквы)

использовать этот

  const Subscription = require('./resolvers/Substription')
Другие вопросы по тегам