Buckets:
| import { SchedulerLike } from '../types'; | |
| import { Observable } from '../Observable'; | |
| import { executeSchedule } from '../util/executeSchedule'; | |
| export function scheduleAsyncIterable<T>(input: AsyncIterable<T>, scheduler: SchedulerLike) { | |
| if (!input) { | |
| throw new Error('Iterable cannot be null'); | |
| } | |
| return new Observable<T>((subscriber) => { | |
| executeSchedule(subscriber, scheduler, () => { | |
| const iterator = input[Symbol.asyncIterator](); | |
| executeSchedule( | |
| subscriber, | |
| scheduler, | |
| () => { | |
| iterator.next().then((result) => { | |
| if (result.done) { | |
| // This will remove the subscriptions from | |
| // the parent subscription. | |
| subscriber.complete(); | |
| } else { | |
| subscriber.next(result.value); | |
| } | |
| }); | |
| }, | |
| 0, | |
| true | |
| ); | |
| }); | |
| }); | |
| } | |
Xet Storage Details
- Size:
- 902 Bytes
- Xet hash:
- 2e8aa9b1817ea237f70012f8ae3ed2bc1a76bb5dc03cbdd7298e5acbf4964bcb
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.