问题描述
我想在模式打开时添加消费者订阅,因为只有在这种情况下,我才需要接收一些频道消息。我知道我可以使用 consumer.subscriptions 列出订阅,并且返回一个标识符数组,但是是否有任何js方法来检查给定的频道是否已经订阅,等等。像 consumer.isSubscribed('FooChannel')吗?
解决方法
仅当模式已打开时,才可以创建预订,并避免不必要的检查。另外,您可以利用subscriptions#findAll
来实现isSubscribed
方法
consumer.subscriptions.isSubscribed = function (channelID) {
return this.findAll(channelID).length > 0
}