Apollo useSubscription 不适用于新窗口
Posted
技术标签:
【中文标题】Apollo useSubscription 不适用于新窗口【英文标题】:Apollo useSubscription doesn't work for new windows 【发布时间】:2020-09-28 04:51:18 【问题描述】:这是我第一次使用 useSub,我注意到尽管我的后端将它的响应发送给客户端(至少 console.log 显示它是)。使用 useSub 的客户端不做任何事情。我通常将 subscribeToMore 与查询一起使用,但对于这项工作,我只想获得最新的信息。有没有办法检查 useSub 是否正确连接?还是在 "@apollo/react-hooks": "^3.1.3"
查询
export const INCOMING_VIDEO_CHAT = gql`
subscription
incomingVideoChat
rn
p
`;
客户
const data, loading = useSubscription(INCOMING\_VIDEO\_CHAT,
onSubscriptionData: ( subscriptionData ) =>
console.log(subscriptionData);
);
服务器:
module.exports =
type: chatInfoType,
subscribe: () => pubsub.asyncIterator(INCOMING\_VIDEO\_CHAT),
async resolve(payload, , req)
if (auth.isAuthenticated(req))
if (!payload)
return;
const userID, rn, p = payload;
try
if (req.id === userID)
return rn, p ;
else
return;
catch (e)
throw new Error(e);
;
【问题讨论】:
【参考方案1】:您可以使用 Chrome 开发工具检查 useSubscription
是否正确连接。在 Chrome DevTools 的 Network 选项卡中,您应该将过滤器切换到 WS 以查看和调试您的 Apollo GraphQL 订阅。你应该阅读it。
【讨论】:
以上是关于Apollo useSubscription 不适用于新窗口的主要内容,如果未能解决你的问题,请参考以下文章
res.cookie 不适用于 apollo-server-express
Apollo useSubscription 不适用于新窗口
readQuery 不适用于 Apollo 和 GraphQL 应用程序中的分页
Apollo 客户端订阅适用于 Playground,但不适用于 Expo 应用程序