【发布时间】:2020-10-31 06:03:18
【问题描述】:
我有一个现有的 Express ApolloServer 。我添加了订阅。我可以看到当我从Playground 触发订阅时,调用了 resolve 方法。但是,subscribe 方法永远不会被调用
const { PubSub, withFilter } = require ('apollo-server');
const pubsub = new PubSub();
const SOMETHING_CHANGED_TOPIC = 'something_changed';
const mySubscription = {
Subscription: {
somethingChanged: {
resolve: root => {
console.log('subscription server resolve', { root })
return root
},
subscribe: () => {
console.log('I AM HERE IN SUBSCRIPTION', pubsub.asyncIterator(SOMETHING_CHANGED_TOPIC))
return pubsub.asyncIterator(SOMETHING_CHANGED_TOPIC)
}
}
}
};
module.exports = { mySubscription}
我可以看到 console.log('subscription server resolve', { root }) 正在打印,尽管 root 未定义。但是 subscribe 中类似的console.log('````') 并没有被执行。
【问题讨论】:
-
任何人都可以提供任何更新?
标签: graphql apollo graphql-js express-graphql graphql-subscriptions