fix(core): catch rejected promises in convertNxExecutor (#12627)

This commit is contained in:
Philip Fulcher 2022-10-14 15:35:33 -06:00 committed by GitHub
parent 628c9c0c36
commit 62e91f37af
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 66 additions and 58 deletions

View File

@ -48,7 +48,8 @@ function toObservable<T extends { success: boolean }>(
): Observable<T> { ): Observable<T> {
return new (require('rxjs') as typeof import('rxjs')).Observable( return new (require('rxjs') as typeof import('rxjs')).Observable(
(subscriber) => { (subscriber) => {
promiseOrAsyncIterator.then((value) => { promiseOrAsyncIterator
.then((value) => {
if (!(value as any).next) { if (!(value as any).next) {
subscriber.next(value as T); subscriber.next(value as T);
subscriber.complete(); subscriber.complete();
@ -80,6 +81,9 @@ function toObservable<T extends { success: boolean }>(
asyncIterator.return(); asyncIterator.return();
}; };
} }
})
.catch((err) => {
subscriber.error(err);
}); });
} }
); );

View File

@ -51,7 +51,8 @@ function toObservable<T extends { success: boolean }>(
): Observable<T> { ): Observable<T> {
return new (require('rxjs') as typeof import('rxjs')).Observable( return new (require('rxjs') as typeof import('rxjs')).Observable(
(subscriber) => { (subscriber) => {
promiseOrAsyncIterator.then((value) => { promiseOrAsyncIterator
.then((value) => {
if (!(value as any).next) { if (!(value as any).next) {
subscriber.next(value as T); subscriber.next(value as T);
subscriber.complete(); subscriber.complete();
@ -83,6 +84,9 @@ function toObservable<T extends { success: boolean }>(
asyncIterator.return(); asyncIterator.return();
}; };
} }
})
.catch((err) => {
subscriber.error(err);
}); });
} }
); );