我正在尝试使用ActionCable作为GraphQL查询的传输(graphql-streaming
)。 GraphQL查询是对数据的任意请求,因此我不想在每个查询中使用一条电缆,而是希望通过该电缆进行一次电缆和多路查询。流程可能是这样的:
我正在将订阅事件实现为流,因此订阅如下所示:
stream_from(event_name) { evaluate_graphql_and_push }
但是当用户更改页面时,我希望保持频道连接但停止该事件的流式传输。
ActionCable可以实现吗?
答案 0 :(得分:1)
您可以在订阅(a.k.a.频道)对象上调用unsubscribe
方法。
即,
channel = App.cable.subscriptions.create "ChannelName"
onPageChange = function() {
channel.unsubscribe()
}