Buckets:
| import { Subscription } from '../Subscription'; | |
| import { SchedulerAction, SchedulerLike } from '../types'; | |
| export function executeSchedule( | |
| parentSubscription: Subscription, | |
| scheduler: SchedulerLike, | |
| work: () => void, | |
| delay: number, | |
| repeat: true | |
| ): void; | |
| export function executeSchedule( | |
| parentSubscription: Subscription, | |
| scheduler: SchedulerLike, | |
| work: () => void, | |
| delay?: number, | |
| repeat?: false | |
| ): Subscription; | |
| export function executeSchedule( | |
| parentSubscription: Subscription, | |
| scheduler: SchedulerLike, | |
| work: () => void, | |
| delay = 0, | |
| repeat = false | |
| ): Subscription | void { | |
| const scheduleSubscription = scheduler.schedule(function (this: SchedulerAction<any>) { | |
| work(); | |
| if (repeat) { | |
| parentSubscription.add(this.schedule(null, delay)); | |
| } else { | |
| this.unsubscribe(); | |
| } | |
| }, delay); | |
| parentSubscription.add(scheduleSubscription); | |
| if (!repeat) { | |
| // Because user-land scheduler implementations are unlikely to properly reuse | |
| // Actions for repeat scheduling, we can't trust that the returned subscription | |
| // will control repeat subscription scenarios. So we're trying to avoid using them | |
| // incorrectly within this library. | |
| return scheduleSubscription; | |
| } | |
| } | |
Xet Storage Details
- Size:
- 1.24 kB
- Xet hash:
- a98818b7dd76ec4417cc25ad919d137b53a12daba7dfb9e966a65c4b33f43e7b
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.