我使用graphql-subscriptions
库创建一个nodejs graphql应用程序来处理pubsub。下面是源代码:
import { withFilter } from 'graphql-subscriptions';
const SOMETHING_CHANGED_TOPIC = 'something_changed';
export const resolvers = {
Subscription: {
somethingChanged: {
subscribe: withFilter(() => pubsub.asyncIterator(SOMETHING_CHANGED_TOPIC), (payload, variables) => {
return payload.somethingChanged.id === variables.relevantId;
}),
},
},
}
您会看到variables
函数的第二个参数中有一个withFilter
参数。我发现此variables
与客户端子请求相同。 variables
是什么意思?我如何了解variables
的目的?还是可以为此variables
设置不同的值?
答案 0 :(得分:2)
如果订阅数据将基于变量(订阅输入)和有效负载(返回数据)条件发布给特定用户,则可以使用 withFilter()。