取消订阅Pusher频道

时间:2014-11-30 15:44:40

标签: javascript ruby-on-rails pusher

我在Pusher应用中使用Rails的新手。 一切正常,我现在可以订阅频道并收到JSON消息。

但我想制作一个按钮,我可以取消订阅特定频道。

我试过这个

<button onclick="unsubscribe_channcel('test_channel')">Unsubscribe</button>

<script>
  function unsubscribe_channcel(channelName) {
  var pusher = new Pusher('APP KEY');
  pusher.unsubscribe(channelName);
};
</script>

但它不起作用。如果我在调试控制台中查看,当我按下按钮时,所有发生的事情就是它建立了一个新连接并且我一直接收来自&#34; test_channel&#34;的消息。

1 个答案:

答案 0 :(得分:1)

您需要取消订阅您订阅频道的Pusher对象的同一个实例上的频道,例如

<button onclick="subscribe_channel('test_channel')">Subscribe</button>
<button onclick="unsubscribe_channel('test_channel')">Unsubscribe</button>

<script src="http://js.pusher.com/2.2/pusher.min.js"></script>
<script>
  Pusher.log = function(msg){
    console.log(msg);
  };

  var YOUR_APP_KEY = "1afb3f8f61eb29da86df";
  var pusher = new Pusher(YOUR_APP_KEY);

  function subscribe_channel( channelName ) {
    pusher.subscribe( channelName );
  }

  function unsubscribe_channel(channelName) {
    pusher.unsubscribe(channelName);
  }
</script>

您可以在此处找到此代码的有效示例:http://jsbin.com/camul/1/edit?html,console,output