无法在另一个事件的绑定函数中绑定 member_removed pusher 事件
Unable to bind member_removed pusher event inside binding function of another event
我正在订阅 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
的两个函数在触发该事件时调用。
然而,当它被触发时,只有 "Removed from anywhere" 所在的函数被调用。 "Removed from interview" 的函数永远不会执行。
有什么问题吗?
我很确定 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');
});
我正在订阅 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
的两个函数在触发该事件时调用。
然而,当它被触发时,只有 "Removed from anywhere" 所在的函数被调用。 "Removed from interview" 的函数永远不会执行。
有什么问题吗?
我很确定 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');
});