diff --git a/.changeset/mean-penguins-type.md b/.changeset/mean-penguins-type.md new file mode 100644 index 0000000000..e840e2dd05 --- /dev/null +++ b/.changeset/mean-penguins-type.md @@ -0,0 +1,5 @@ +--- +'graphql-executor': patch +--- + +preserve key order when promises resolves out of order diff --git a/src/execution/executor.ts b/src/execution/executor.ts index 91ef8075f7..e570d40baa 100644 --- a/src/execution/executor.ts +++ b/src/execution/executor.ts @@ -908,6 +908,8 @@ export class Executor { if (result !== undefined) { if (isPromise(result)) { + // set key to undefined to preserve key order + results[responseName] = undefined; const promise = result.then((resolved) => { results[responseName] = resolved; });