Javascript Twilio IP消息,如何取消频道订阅
我以Twilio IP消息示例为起点编写了一个简单的聊天。其想法是在不同的客户机和管理员之间建立私人渠道。每个客户端都有一个单独的专用管理通道。管理员可以选择打开/订阅与特定客户端聊天的频道 我现在面临的问题是,我无法取消订阅以前订阅的频道 以下是以管理员、客户端(test1)和客户端(test2)身份登录的链接: 重现问题的步骤:Javascript Twilio IP消息,如何取消频道订阅,javascript,twilio,dom-events,instant-messaging,Javascript,Twilio,Dom Events,Instant Messaging,我以Twilio IP消息示例为起点编写了一个简单的聊天。其想法是在不同的客户机和管理员之间建立私人渠道。每个客户端都有一个单独的专用管理通道。管理员可以选择打开/订阅与特定客户端聊天的频道 我现在面临的问题是,我无法取消订阅以前订阅的频道 以下是以管理员、客户端(test1)和客户端(test2)身份登录的链接: 重现问题的步骤: 点击“管理员(admin1)”以管理员身份登录 在新打开的管理员聊天页面上,单击“test1@qwe.com“左侧面板上的频道,用于订阅该频道并接收该频道的消息 在
// Listen for new messages sent to the channel
personalChannel.on('messageAdded', function(message) {
printMessage(message.author, message.body);
});
要取消订阅我尝试过的unbind('onMessageAdded')
和off('onMessageAdded')
,但不起作用,js控制台说:unbind(或off)不是一个函数
你知道如何取消频道的订阅吗
personalChannel.on('memberLeft', function(member) {
printMessage(member.identity + 'has left the channel.');
});
类似这样的东西?这里是Twilio开发者福音传道者 Bob海绵是对的,您需要调用
leave()
才能正确地离开它
personalChannel.leave();
如果您希望保持与频道的连接,但停止侦听传入事件,则可以解除侦听器的绑定。实际上,您可以使用removeListener
而不是off
或unbind
来执行此操作。这是遵循以下原则
如果有任何帮助,请告诉我。如果您不想离开或取消订阅频道,您可以为删除频道中的所有事件执行此操作:
activeChannel.removeAllListeners();
当我在频道之间切换时,我会这样做。我想这是
personalChannel.leave()
谢谢您的帮助!这将侦听当另一个成员取消订阅该频道时触发的事件,而不是取消正在讨论的实际成员的订阅。这正是我所需要的。
activeChannel.removeAllListeners();