检查给定频道的ActionCable订阅是否已在JS使用者端进行检查的方法?

问题描述

我想在模式打开时添加消费者订阅,因为只有在这种情况下,我才需要接收一些频道消息。我知道我可以使用 consumer.subscriptions 列出订阅,并且返回一个标识符数组,但是是否有任何js方法来检查给定的频道是否已经订阅,等等。像 consumer.isSubscribed('FooChannel')吗?

解决方法

仅当模式已打开时,才可以创建预订,并避免不必要的检查。另外,您可以利用subscriptions#findAll来实现isSubscribed方法

consumer.subscriptions.isSubscribed = function (channelID) {
  return this.findAll(channelID).length > 0
}

findAll is defined here

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...