Sha256: f3221a104ad98f5a69ef2d6977d092f9092ed5a589a26541f71d52e46dc169be
Contents?: true
Size: 1.5 KB
Versions: 1
Compression:
Stored size: 1.5 KB
Contents
var CometIO = function(){ new EventEmitter().apply(this); this.url = "<%= cometio_url %>"; this.session = null; var running = false; var self = this; this.push = function(type, data){ $.ajax( { url : self.url, data : {type : type, data : data, session : self.session}, success : function(data){ }, error : function(req, stat, e){ self.emit("error", "CometIO push error"); }, complete : function(e){ }, type : "POST", dataType : "json", timeout : 10000 } ); }; this.connect = function(){ if(running) return self; self.on("__session_id", function(session){ self.session = session; self.emit("connect", self.session); }); running = true; self.get(); return self; }; this.close = function(){ running = false; self.removeListener("__session_id"); }; this.get = function(){ if(!running) return; $.ajax( { url : self.url, data : {session : self.session}, success : function(data){ if(data){ self.emit(data.type, data.data); } self.get(); }, error : function(req, stat, e){ self.emit("error", "CometIO get error"); setTimeout(self.get, 10000); }, complete : function(e){ }, type : "GET", dataType : "json", timeout : <%= (CometIO.options[:xhr_interval]+10)*1000 %> } ); }; };
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
sinatra-cometio-0.1.6 | lib/js/cometio.js |