23 lines
856 B
JavaScript
23 lines
856 B
JavaScript
|
import { Observable } from '../Observable';
|
||
|
import { executeSchedule } from '../util/executeSchedule';
|
||
|
export function scheduleAsyncIterable(input, scheduler) {
|
||
|
if (!input) {
|
||
|
throw new Error('Iterable cannot be null');
|
||
|
}
|
||
|
return new Observable(function (subscriber) {
|
||
|
executeSchedule(subscriber, scheduler, function () {
|
||
|
var iterator = input[Symbol.asyncIterator]();
|
||
|
executeSchedule(subscriber, scheduler, function () {
|
||
|
iterator.next().then(function (result) {
|
||
|
if (result.done) {
|
||
|
subscriber.complete();
|
||
|
}
|
||
|
else {
|
||
|
subscriber.next(result.value);
|
||
|
}
|
||
|
});
|
||
|
}, 0, true);
|
||
|
});
|
||
|
});
|
||
|
}
|
||
|
//# sourceMappingURL=scheduleAsyncIterable.js.map
|