关于此的信息似乎很少...我找到了下面的文章,这让我接近了,但它不起作用:
How do I create a GraphQL subscription with Apollo Client in Vanilla JS
那篇文章有点老了,我正在使用apollo客户端v2.6.8,这是我的代码:
const subs = gql`
subscription onItemAdded
{
itemAdded {
ItemName
}
}`
var subscriptionObserver = apolloClient.subscribe({
query: subs
})
.subscribe(
data => {
console.log('Data', data);
//See comment below ********
},
err => { console.error('Error', err); }
)
在调用订阅后,我立即看到控制台中记录的数据(为空,这是我预期的空值),但是当实际订阅触发时,它再也不会触发,所以我在这里遗漏了什么?
[添加项目并触发发布的变异操作已在其他地方完成,但是此操作(和我的服务器)工作正常,因为我在从另一个客户端(反应)进行测试时已验证了订阅,因此,我可以确定问题出在上面的代码上。]
答案 0 :(得分:0)
我在这里发现了问题,ApolloClient'link'中的一个错字意味着它仅针对http进行了设置,我可以确认上面的代码与下面的配置一样可以正常工作
xmlns:tools="http://schemas.android.com/tools"
tools:ignore= "LockedOrientationActivity"