最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - Pusher: How to bind to 100s of events? - Stack Overflow

programmeradmin1浏览0评论

The push library works as below

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

However: Would I be able to do this?

var channel = pusher.subscribe('test_channel');
channel.bind(['my_event1', 'my_event2'....'my_event100'], function(data) {
  alert(data.message);
});

In my use case, I have one channel and there are many different events and each client might want to simulantaneously subscribe to 100s of events.

The push library works as below

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

However: Would I be able to do this?

var channel = pusher.subscribe('test_channel');
channel.bind(['my_event1', 'my_event2'....'my_event100'], function(data) {
  alert(data.message);
});

In my use case, I have one channel and there are many different events and each client might want to simulantaneously subscribe to 100s of events.

Share Improve this question edited Jul 28, 2024 at 23:59 Jeff Puckett 41.2k19 gold badges124 silver badges174 bronze badges asked Jan 2, 2014 at 22:04 samolsamol 20.7k33 gold badges93 silver badges132 bronze badges
Add a ment  | 

1 Answer 1

Reset to default 5

The signature for the channel.bind function is String channelName, Function callback (pusher-js source). You can't pass in an Array of channels`.

If you want the same function to be called then you'll need to pass a reference to the function and call bind multiple times:

var channel = pusher.subscribe('test_channel');
var callback = function(data) {
  alert(data.message);
};

var eventName;
for( var i = 0; i < 100; ++i ) {
  eventName = 'my_event' + ( i + 1 );
  channel.bind( eventName, callback );
}

The single-threaded nature of JS will equate to these event binding happening simultaneously.

You could of course create your own helper function to allow bind( Array eventNames, Function callback ).

发布评论

评论列表(0)

  1. 暂无评论