У меня проблема apollo-server с subscriptions.
Может кто-то подсказать? Не могу понять в какую сторону копать.
Есть такая схема и резолвер
const typeDefs = gql
type Example {
id: ID
value: string
}
type Subscription {
onExampleUpdate: Example
}
const resolvers = {
Example: {
id: (parent) =>
parent.id,
value: (parent) => parent.value,
},
Subscription: {
onExampleUpdate: {
subscribe: () => pubsub.asyncIterator('CHANNEL_EXAMPLE')
},
},
}
И где-то в другом месте я публикую изменения
pubsub.publish('CHANNEL_EXAMPLE', data)
тут все работает отлично
но когда я хочу использовать dataSource внутри резолвера, то результат кешируется при следующих обновлениях и я получю старые данные
const resolvers = {
Example: {
id: (parent) => parent.id,
value: (parent) => parent.value,
// тут
issue: (parent, parent, context) => context.dataSources.exampleAPI.getIssueByExampleId(parent.id)
},
}
Кроме отключения кэша пока решения не нашел