Apollo GraphQL:使用withFilter时修改有效负载?

Apollo GraphQL:使用withFilter时修改有效负载?,graphql,apollo,apollo-server,Graphql,Apollo,Apollo Server,我有一个使用带筛选器的的工作订阅: User_Presence_Subscription: { subscribe: withFilter( () => pubsub.asyncIterator(USER_PRESENCE_UPDATED_CHANNEL), (payload, args, context) => { if (typeof (payload) === 'undefin

我有一个使用带筛选器的
的工作订阅

   User_Presence_Subscription: {
        subscribe: withFilter(
            () => pubsub.asyncIterator(USER_PRESENCE_UPDATED_CHANNEL),
            (payload, args, context) => {
                if (typeof (payload) === 'undefined') {
                    return false;
                }
                const localUserId = (typeof(context) == 'undefined' || typeof(context.userId) == 'undefined') ? null : context.userId;
                const ids_to_watch = args.ids_to_watch;
                const usersWithUpdatedPresence = payload.User_Presence_Subscription;

                let result = false;
                console.log("User_Presence_Subscription - args == ", args, result);
                return result;
            }
        )
    }
我想在将有效负载发送到客户端之前修改它。我尝试添加一个
resolve
函数:

User\u Presence\u订阅:{
解析:(有效负载、参数、上下文)=>{
调试器;pubsub.asyncIterator(用户\u状态\u更新的\u通道),
(有效负载、参数、上下文)=>{
if(有效载荷的类型)==“未定义”){
返回false;
}
const localUserId=(typeof(context)='undefined'| | typeof(context.userId)='undefined')?null:context.userId;
const ids_to_watch=args.ids_to_watch;
const usersWithUpdatedPresence=payload.User\u Presence\u订阅;
让结果=假;
log(“用户\状态\订阅-args==”,args,结果);
返回结果;
}
)
}
…但是
resolve
函数中的
debugger
行从未被命中


这里使用的正确语法是什么?

已解决。冲突解决程序未被命中的唯一原因是,在我的测试代码中,我从
with filter
函数返回了
false
。当它返回
true
时,冲突解决程序按预期被命中。

已解决。冲突解决程序未被命中的唯一原因是在我的测试代码中st code I从
withFilter
函数返回
false
。当返回
true
时,冲突解决程序按预期命中

   User_Presence_Subscription: {
        resolve: (payload, args, context) => {
            debugger; <== NEVER ACTIVATES
            return {
                User_Presence_Subscription: payload,
            };
        },
        subscribe: withFilter(
            () => pubsub.asyncIterator(USER_PRESENCE_UPDATED_CHANNEL),
            (payload, args, context) => {
                if (typeof (payload) === 'undefined') {
                    return false;
                }
                const localUserId = (typeof(context) == 'undefined' || typeof(context.userId) == 'undefined') ? null : context.userId;
                const ids_to_watch = args.ids_to_watch;
                const usersWithUpdatedPresence = payload.User_Presence_Subscription;

                let result = false;
                console.log("User_Presence_Subscription - args == ", args, result);
                return result;
            }
        )
    }