diff --git a/src/execution/execute.ts b/src/execution/execute.ts index e48701c0e1..26342ed8ef 100644 --- a/src/execution/execute.ts +++ b/src/execution/execute.ts @@ -368,7 +368,7 @@ function executeOperation( if (isPromise(result)) { return result.then(undefined, (error) => { exeContext.errors.push(error); - return Promise.resolve(null); + return null; }); } return result; diff --git a/src/execution/mapAsyncIterator.ts b/src/execution/mapAsyncIterator.ts index 3ea9ea8745..075bc9629d 100644 --- a/src/execution/mapAsyncIterator.ts +++ b/src/execution/mapAsyncIterator.ts @@ -43,9 +43,10 @@ export function mapAsyncIterator( : { value: undefined as any, done: true }; }, async throw(error?: unknown) { - return typeof iterator.throw === 'function' - ? mapResult(await iterator.throw(error)) - : Promise.reject(error); + if (typeof iterator.throw === 'function') { + return mapResult(await iterator.throw(error)); + } + throw error; }, [Symbol.asyncIterator]() { return this;