var im = Backbone.View.extend({ io_events: { 'new_message': 'newMessage' }, newMessage: function(message_data){ //do something } });
var socket = io.connect('127.0.0.1:9999'); var SocketDelegationSkeleton = Backbone.View.extend({ _initSocketio: function(){ if(this.io_events && _.size(this.io_events) > 0) for(var io_event in this.io_events){ var method = this.io_events[io_event]; // if (!_.isFunction(method)) { method = this[method]; // _.bind(method, this); // this socket.on(io_event, method); // socket.io }else{ throw new Error(' ' + '"' + method + '"' + ' '); } } } });
SocketDelegationSkeleton
, declare events and in initialize
call _initSocketio();
var im = SocketDelegationSkeleton.extend({ io_events: { 'new_message': 'newMessage' }, initialize: function(){ this._initSocketio(); } newMessage: function(message_data){ //do something } });
Source: https://habr.com/ru/post/179209/
All Articles