class TaskQueue { constructor() { this._chain = Promise.resolve(); } /** * @param {Function} task * @return {!Promise} */ postTask(task) { const result = this._chain.then(task); this._chain = result.catch(() => {}); return result; } } module.exports = {TaskQueue};