src/Executor/Executor.php
public static function execute(
        Schema $schema,
        DocumentNode $documentNode,
        $rootValue = null,
        $contextValue = null,
        $variableValues = null,
        $operationName = null,
        ?callable $fieldResolver = null
    ) {
        // TODO: deprecate (just always use SyncAdapter here) and have `promiseToExecute()` for other cases

        $promiseAdapter = static::getPromiseAdapter();

        $result = static::promiseToExecute(
            $promiseAdapter,
            $schema,
            $documentNode,
            $rootValue,
            $contextValue,
            $variableValues,
            $operationName,
            $fieldResolver
        );

        if ($promiseAdapter instanceof SyncPromiseAdapter) {
            $result = $promiseAdapter->wait($result);
        }

        return $result;
    }
public static function execute(
        Schema $schema,
        DocumentNode $documentNode,
        $rootValue = null,
        $contextValue = null,
        $variableValues = null,
        $operationName = null,
        ?callable $fieldResolver = null
    ) {
        // TODO: deprecate (just always use SyncAdapter here) and have `promiseToExecute()` for other cases

        $promiseAdapter = static::getPromiseAdapter();

        $result = static::promiseToExecute(
            $promiseAdapter,
            $schema,
            $documentNode,
            $rootValue,
            $contextValue,
            $variableValues,
            $operationName,
            $fieldResolver
        );

        if ($promiseAdapter instanceof SyncPromiseAdapter) {
            $result = $promiseAdapter->wait($result);
        }

        return $result;
    }
public static function execute ( Schema $ schema , DocumentNode $ documentNode , $ rootValue = null , $ contextValue = null , $ variableValues = null , $ operationName = null , ? callable $ fieldResolver = null ) { // TODO: deprecate (just always use SyncAdapter here) and have `promiseToExecute()` for other cases $ promiseAdapter = static :: getPromiseAdapter ( ) ; $ result = static :: promiseToExecute ( $ promiseAdapter , $ schema , $ documentNode , $ rootValue , $ contextValue , $ variableValues , $ operationName , $ fieldResolver ) ; if ( $ promiseAdapter instanceof SyncPromiseAdapter ) { $ result = $ promiseAdapter -> wait ( $ result ) ; } return $ result ; }
Executes DocumentNode against given $schema.

Always returns ExecutionResult and never throws. All errors which occur during operation
execution are collected in `$result->errors`.

@param mixed|null               $rootValue
@param mixed|null               $contextValue
@param mixed[]|ArrayAccess|null $variableValues
@param string|null              $operationName

@return ExecutionResult|Promise

@api
Executes DocumentNode against given $schema .