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 badges1 Answer
Reset to default 5The 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 )
.
发布者:admin,转转请注明出处:http://www.yc00.com/questions/1745530841a4631687.html
评论列表(0条)