1

我正在尝试收听特定事件类型,而不管它是在哪个频道中触发的。我对文档(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 中执行此测试。

我错过了什么?

谢谢!

沙希布·R。

4

1 回答 1

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);
});
于 2013-09-21T20:35:58.837 回答