| 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}; |