Files
galaxy/static/scripts/utils/deferred.js
T
guerler 2e21e027b0 Insert promises
Revision

Revise deferred class to use promises

Update charts

Fix comment

Use resolve and reject properly

Fix comments

Fix comments

Fix comments

Fix comment

Improve naming/comments

Remove unnecessary queue handler

Fix naming
2015-11-02 12:59:16 -05:00

2 lines
700 B
JavaScript

define(["utils/utils"],function(a){return Backbone.Model.extend({initialize:function(){this.active={},this.last=null},execute:function(b){var c=this,d=a.uid(),e=b.length>0;this.active[d]=!0;var f=$.Deferred();f.promise().always(function(){delete c.active[d],e&&console.debug("Deferred::execute() - "+this.state()+" "+d)}),$.when(this.last).always(function(){c.active[d]?(e&&console.debug("Deferred::execute() - running "+d),b(f),!e&&f.resolve()):f.reject()}),this.last=f.promise()},reset:function(){console.debug("Deferred::execute() - reset");for(var a in this.active)this.active[a]=!1},ready:function(){return $.isEmptyObject(this.active)}})});
//# sourceMappingURL=../../maps/utils/deferred.js.map