CometObserver
function CometObserver () {
this.init.apply(this, arguments);
}
CometObserver.prototype = {
init : function (opts) {
this.opts = {
url : null,
callback : operator.identity,
recallAfter : 5 // sec
};
update(this.opts, opts);
},
update : function () {
if (this.running) return;
var self = this;
loadJSONDoc(this.opts.url).addCallbacks(
function (res) {
self.runnning = false;
try {
self.opts.callback(res);
} catch (e) { log(e) }
// すぐに呼ぶ
self.update();
},
function (err) {
log(err);
self.running = false;
callLater(self.opts.recallAfter, function () {
self.update();
});
}
);
}
};JSON 返す CometAPI を使うためのコード、らしい(覚えてない