无法将member_removed pusher事件绑定到另一个事件的绑定函数内

时间:2015-01-19 14:11:49

标签: javascript ruby-on-rails pusher

我在Javascript中订阅了一个频道上的活动,如下所示:

pusher = new Pusher("APP_KEY")
channel = pusher.subscribe('test_channel')

channel.bind('interview', function (data) {
  // do something here

  channel.bind('pusher:member_removed', function (data) {
    console.log("Removed from interview");
  });
});

channel.bind('pusher:member_removed', function (data) {
  console.log('Removed from anywhere');
});

在我的Rails操作中,我执行以下操作:

def interview
  Pusher['test_channel'].trigger('interview', {
    interview: 'some-id'
  })
end

我想要在触发该事件时调用绑定到pusher:member_removed的两个函数。

然而,当它被触发时,只有"从任何地方删除的功能"叫做。与#34;删除的功能"永远不会被执行。

可能出现什么问题?

1 个答案:

答案 0 :(得分:2)

我非常确定channel.bind的回调行为不会另外收听回来的其他消息。 Pusher的人可以详细说明吗?

你可能做的真正可怕的事情就是做一些像

这样的事情
pusher = new Pusher("APP_KEY")
channel = pusher.subscribe('test_channel')
var inInterview = false;

channel.bind('interview', function (data) {
  inInterview = true;
});

channel.bind('pusher:member_removed', function (data) {
  if (inInterview) {
    console.log("Removed from interview");
  } 
  console.log('Removed from anywhere');
});