Javascript Twilio IP消息,如何取消频道订阅

Javascript Twilio IP消息,如何取消频道订阅,javascript,twilio,dom-events,instant-messaging,Javascript,Twilio,Dom Events,Instant Messaging,我以Twilio IP消息示例为起点编写了一个简单的聊天。其想法是在不同的客户机和管理员之间建立私人渠道。每个客户端都有一个单独的专用管理通道。管理员可以选择打开/订阅与特定客户端聊天的频道 我现在面临的问题是,我无法取消订阅以前订阅的频道 以下是以管理员、客户端(test1)和客户端(test2)身份登录的链接: 重现问题的步骤: 点击“管理员(admin1)”以管理员身份登录 在新打开的管理员聊天页面上,单击“test1@qwe.com“左侧面板上的频道,用于订阅该频道并接收该频道的消息 在

我以Twilio IP消息示例为起点编写了一个简单的聊天。其想法是在不同的客户机和管理员之间建立私人渠道。每个客户端都有一个单独的专用管理通道。管理员可以选择打开/订阅与特定客户端聊天的频道

我现在面临的问题是,我无法取消订阅以前订阅的频道

以下是以管理员、客户端(test1)和客户端(test2)身份登录的链接:

重现问题的步骤:

  • 点击“管理员(admin1)”以管理员身份登录
  • 在新打开的管理员聊天页面上,单击“test1@qwe.com“左侧面板上的频道,用于订阅该频道并接收该频道的消息
  • 在主页上单击“客户端(test1)”以客户端身份登录并加入频道test1@qwe.com作为客户
  • 从管理员向客户端(test1)发送消息,从客户端(test1)向管理员发送消息
  • 在管理员聊天中,单击频道test2@qwe.com订阅此新频道并与另一个客户端聊天(test2);作为客户端登录(test2)并与管理员聊天
  • 现在的问题是:您仍在接收来自的消息test1@qwe.com-尝试以电子邮件的形式发送消息test1@qwe.com客户当你订阅test2@qwe.com频道,你还没有取消订阅test1@qwe.com
  • 技术细节: 为了订阅频道,我使用事件“onMessageAdded”来监听该频道的传入消息:

    // 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();