推送器绑定到事件,而不考虑通道



我正在尝试侦听特定的事件类型,而不管它是在哪个通道中触发的。我对文档 (http://pusher.com/docs/client_api_guide/client_events#bind-events/lang=js) 的理解是,我可以通过在推送器实例而不是通道实例上调用 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); 

然后,我使用帐户门户中的事件创建器工具生成事件。我使用了一个随机频道名称,将事件设置为"新评论",然后只是在事件数据中加入一些随机文本。但是,我的控制台中没有出现任何内容。

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

我错过了什么?

谢谢!

沙希布·

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);
});

最新更新