我有一个带有graphql服务器和客户端vue的应用程序。在那里聊天,当出现新消息时,我想做些事情。我已经订阅了,在服务器端一切都很好。但是,当我尝试将其连接到前端时,订阅没有任何结果,只是null。 这是我的查询文件中的订阅:
export const MESSAGEADDED = gql `
subscription($user: ID!) {
messageAdded(user: $user){
_id
text
createdAt
user {
_id
username
avatar_link
}
}
}
`
这是我的聊天模块的apollo部分的一部分:
apollo: {
$subscribe:{
tagAdded:{
query: MESSAGEADDED,
variables(){
return{
user: this.$store.getters.user._id
}
},
result({data}){
this.$apollo.queries.messages.refetch()
}
}
}
在网络部分的开发工具中,我只能从graphql中获取空值。 例如,当我使用graphql游乐场时,直接插入查询,就会得到结果。
有人有什么想法吗,可能是什么问题?