2316
*/
2317
constructor(onReturn?: () => Promise<void> | void) {
2318
>
this._asyncIterable = new AsyncIterableObject(emitter => {
async.ts
2319
>
2320
>
if (earlyError) {
2321
emitter.reject(earlyError);
2322
return;
2323
}
2325
emitter.emitMany(earlyItems);
2326
}
2327
>
this._errorFn = (error: Error) => emitter.reject(error);
async.ts
2328
>
this._emitOneFn = (item: T) => emitter.emitOne(item);
2329
>
this._emitManyFn = (items: T[]) => emitter.emitMany(items);
2330
>
return this._deferred.p;
2331
>
}, onReturn);
2332
>
2333
>
let earlyError: Error | undefined;
2334
>
let earlyItems: T[] | undefined;
2335
>
2336
>
2337
>
this._errorFn = (error: Error) => {
2338
if (!earlyError) {
2339
earlyError = error;
2340
}
2341
};
2342
>
this._emitOneFn = (item: T) => {
async.ts
2343
if (!earlyItems) {
2344
earlyItems = [];