diff --git a/src/graphql.js b/src/graphql.js index e8cdfdc9ed..1067bd3ce3 100644 --- a/src/graphql.js +++ b/src/graphql.js @@ -7,6 +7,7 @@ * @flow strict */ +import isPromise from './jsutils/isPromise'; import { validateSchema } from './type/validate'; import { parse } from './language/parser'; import { validate } from './validation/validate'; @@ -175,7 +176,7 @@ export function graphqlSync( ); // Assert that the execution was synchronous. - if (result.then) { + if (isPromise(result)) { throw new Error('GraphQL execution failed to complete synchronously.'); } diff --git a/src/utilities/introspectionFromSchema.js b/src/utilities/introspectionFromSchema.js index 96de81d6e0..8f2006ea09 100644 --- a/src/utilities/introspectionFromSchema.js +++ b/src/utilities/introspectionFromSchema.js @@ -8,6 +8,7 @@ */ import invariant from '../jsutils/invariant'; +import isPromise from '../jsutils/isPromise'; import { type GraphQLSchema } from '../type/schema'; import { execute } from '../execution/execute'; import { parse } from '../language/parser'; @@ -32,6 +33,6 @@ export function introspectionFromSchema( ): IntrospectionQuery { const queryAST = parse(getIntrospectionQuery(options)); const result = execute(schema, queryAST); - invariant(!result.then && !result.errors && result.data); + invariant(!isPromise(result) && !result.errors && result.data); return (result.data: any); }