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.
- 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.