pixelbutler
Version:
Low-res bitmap render engine for big screens
42 lines (41 loc) • 1.25 kB
JavaScript
;
var MultiLoader = (function () {
function MultiLoader(loaders) {
var _this = this;
this.queued = [];
if (loaders) {
loaders.forEach(function (loader) {
_this.queued.push(loader);
});
}
}
MultiLoader.prototype.load = function (callback) {
var _this = this;
var errored = false;
var results = new Array(this.queued.length);
this.queued.forEach(function (loader, index) {
loader.load(function (err, res) {
if (errored) {
return;
}
if (err) {
console.log(loader.url);
console.error(err);
callback(err, null);
errored = true;
return;
}
results[index] = res;
_this.queued[index] = null;
if (_this.queued.every(function (loader) {
return !loader;
})) {
callback(err, results);
_this.queued = null;
}
});
});
};
return MultiLoader;
})();
module.exports = MultiLoader;