__mainContext.__LoadManager = function() { this.list = []; this.done = false; } __mainContext.__LoadManager.prototype.execWhenReady = function(cb) { if (this.done) { cb(); } else { this.list.push(cb) } } __mainContext.__LoadManager.prototype.doFirst = function(todo) { var self = this; todo(function() { self.done = true; self.list.map((x) => x.apply()) }) } __mainContext.__loadManagerInstance = new __mainContext.__LoadManager();