无论通道如何,Pusher都会绑定到事件

时间:2013-09-18 18:03:02

标签: pusher

我试图听一个特定的事件类型而不管它被触发的频道。我对文档(http://pusher.com/docs/client_api_guide/client_events#bind-events/lang=js)的理解是我可以通过调用pusher实例上的bind方法来实现而不是在渠道实例上。这是我的代码:

var pusher = new Pusher('MYSECRETAPPKEY', {'encrypted':true}); // Replace with your app key 
var eventName = 'new-comment'; 
var callback = function(data) { 
  // add comment into page 
  console.log(data); 
};

pusher.bind(eventName, callback); 

然后我在帐户门户中使用了Event Creator工具来生成一个事件。我使用随机通道名称,将事件设置为“新注释”,然后将一些随机文本放入事件数据中。但是,我的控制台中没有显示任何内容。

我正在使用https://d3dy5gmtp8yhk7.cloudfront.net/2.1/pusher.min.js,并在最新的Chrome中执行此测试。

我错过了什么?

谢谢!

Shaheeb R。

1 个答案:

答案 0 :(得分:0)

如果该客户已订阅该频道,Pusher将仅向该客户发送事件。所以,你需要做的第一件事是订阅频道。绑定到客户端上的事件:

pusher.bind('event_name', function( data ) {
  // handle update
} );

这也称为“全局事件绑定”。

我已经使用此代码测试了它,它确实有效: http://jsbin.com/AROvEDO/1/edit

为了完整性,这是代码:

var pusher = new Pusher('APP_KEY');
var channel = pusher.subscribe('test_channel');
pusher.bind('my_event', function(data) {
  alert(data.message);
});