@@ -1056,15 +1056,16 @@ async function completeAsyncIteratorValue(
1056
1056
try {
1057
1057
// eslint-disable-next-line no-await-in-loop
1058
1058
iteration = await iterator . next ( ) ;
1059
- if ( iteration . done ) {
1060
- break ;
1061
- }
1062
1059
} catch ( rawError ) {
1063
1060
const error = locatedError ( rawError , fieldNodes , pathToArray ( itemPath ) ) ;
1064
1061
completedResults . push ( handleFieldError ( error , itemType , errors ) ) ;
1065
1062
break ;
1066
1063
}
1067
1064
1065
+ if ( iteration . done ) {
1066
+ break ;
1067
+ }
1068
+
1068
1069
if (
1069
1070
completeListItemValue (
1070
1071
iteration . value ,
@@ -1910,20 +1911,23 @@ async function executeStreamIteratorItem(
1910
1911
asyncPayloadRecord : StreamRecord ,
1911
1912
itemPath : Path ,
1912
1913
) : Promise < IteratorResult < unknown > > {
1913
- let item ;
1914
+ let iteration ;
1914
1915
try {
1915
- const { value, done } = await iterator . next ( ) ;
1916
- if ( done ) {
1917
- asyncPayloadRecord . setIsCompletedIterator ( ) ;
1918
- return { done, value : undefined } ;
1919
- }
1920
- item = value ;
1916
+ iteration = await iterator . next ( ) ;
1921
1917
} catch ( rawError ) {
1922
1918
const error = locatedError ( rawError , fieldNodes , pathToArray ( itemPath ) ) ;
1923
1919
const value = handleFieldError ( error , itemType , asyncPayloadRecord . errors ) ;
1924
1920
// don't continue if iterator throws
1925
1921
return { done : true , value } ;
1926
1922
}
1923
+
1924
+ const { done, value : item } = iteration ;
1925
+
1926
+ if ( done ) {
1927
+ asyncPayloadRecord . setIsCompletedIterator ( ) ;
1928
+ return { done, value : undefined } ;
1929
+ }
1930
+
1927
1931
let completedItem ;
1928
1932
try {
1929
1933
completedItem = completeValue (
0 commit comments