'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _promise = require('../deps/promise');
var _promise2 = _interopRequireDefault(_promise);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function TaskQueue() {
this.promise = new _promise2.default(function (fulfill) {
fulfill();
});
} /*
* Simple task queue to sequentialize actions. Assumes
* callbacks will eventually fire (once).
*/
TaskQueue.prototype.add = function (promiseFactory) {
this.promise = this.promise.catch(function () {
// just recover
}).then(function () {
return promiseFactory();
});
return this.promise;
};
TaskQueue.prototype.finish = function () {
return this.promise;
};
exports.default = TaskQueue;
module.exports = exports['default']; |