diff options
Diffstat (limited to 'node_modules/rxjs/dist/esm/internal/scheduler/AsyncScheduler.js')
| -rw-r--r-- | node_modules/rxjs/dist/esm/internal/scheduler/AsyncScheduler.js | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/node_modules/rxjs/dist/esm/internal/scheduler/AsyncScheduler.js b/node_modules/rxjs/dist/esm/internal/scheduler/AsyncScheduler.js new file mode 100644 index 0000000..c57668c --- /dev/null +++ b/node_modules/rxjs/dist/esm/internal/scheduler/AsyncScheduler.js @@ -0,0 +1,30 @@ +import { Scheduler } from '../Scheduler'; +export class AsyncScheduler extends Scheduler { + constructor(SchedulerAction, now = Scheduler.now) { + super(SchedulerAction, now); + this.actions = []; + this._active = false; + } + flush(action) { + const { actions } = this; + if (this._active) { + actions.push(action); + return; + } + let error; + this._active = true; + do { + if ((error = action.execute(action.state, action.delay))) { + break; + } + } while ((action = actions.shift())); + this._active = false; + if (error) { + while ((action = actions.shift())) { + action.unsubscribe(); + } + throw error; + } + } +} +//# sourceMappingURL=AsyncScheduler.js.map
\ No newline at end of file |
