graphql-compose / graphql-compose/graphql-compose-mongoose

Internal error occurred during message handling. Please check your implementation. Error: Subscription field must return Async Iterable. Received: undefined.

Open
#405 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
706
Forks
98
PR merge metrics
No merged PRs in 30d

Description

When creating a subscription resolver as follows:

```
const pubsub = require('@app/lib/pubSub')

module.exports = {
name: 'findManySubscription',
kind: 'subscription',
type: 'Chat',
resolve: async payload => {
return payload.updatePost
},
subscribe: async () => pubsub.asyncIterator('updatePost')
}
```

and adding it to:

```
schemaComposer.Subscription.addFields({
chatMany: ChatTC.getResolver('findManySubscription')
})
```

I see the error:

```
Internal error occurred during message handling. Please check your implementation. Error: Subscription field must return Async Iterable. Received: undefined.
```

However, when adding as so:

```
schemaComposer.Subscription.addFields({
chatMany: {
type: 'Chat',
resolve: payload => {
return payload.updatePost
},
subscribe: () => pubsub.asyncIterator('updatePost')
}
})
```

This is fine.

For resolvers, I am adding as per:

```
for (const resolver in resolvers) {
ChatTC.addResolver(resolvers[resolver])
}
```

Any ideas why this wouldn't be ok?

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.