Buckets:
| import { Observable } from '../Observable'; | |
| import { async as asyncScheduler } from '../scheduler/async'; | |
| import { isScheduler } from '../util/isScheduler'; | |
| import { isValidDate } from '../util/isDate'; | |
| export function timer(dueTime = 0, intervalOrScheduler, scheduler = asyncScheduler) { | |
| let intervalDuration = -1; | |
| if (intervalOrScheduler != null) { | |
| if (isScheduler(intervalOrScheduler)) { | |
| scheduler = intervalOrScheduler; | |
| } | |
| else { | |
| intervalDuration = intervalOrScheduler; | |
| } | |
| } | |
| return new Observable((subscriber) => { | |
| let due = isValidDate(dueTime) ? +dueTime - scheduler.now() : dueTime; | |
| if (due < 0) { | |
| due = 0; | |
| } | |
| let n = 0; | |
| return scheduler.schedule(function () { | |
| if (!subscriber.closed) { | |
| subscriber.next(n++); | |
| if (0 <= intervalDuration) { | |
| this.schedule(undefined, intervalDuration); | |
| } | |
| else { | |
| subscriber.complete(); | |
| } | |
| } | |
| }, due); | |
| }); | |
| } | |
| //# sourceMappingURL=timer.js.map |
Xet Storage Details
- Size:
- 1.15 kB
- Xet hash:
- 6d38e92d7f073ad19dd453c79e236e95650aabed58484d9edaab900192095cae
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.