Skip to main content



  • Implements the “Subscribe” algorithm described in the GraphQL specification.

    Returns a Promise which resolves to either an AsyncIterator (if successful) or an ExecutionResult (error). The promise will be rejected if the schema or other arguments to this function are invalid, or if the resolved event stream is not an async iterable.

    If the client-provided arguments to this function do not result in a compliant subscription, a GraphQL Response (ExecutionResult) with descriptive errors and no data will be returned.

    If the source stream could not be created due to faulty subscription resolver logic or underlying systems, the promise will resolve to a single ExecutionResult containing errors and no data.

    If the operation succeeded, the promise resolves to an AsyncIterator, which yields a stream of ExecutionResults representing the response stream.

    This function does not support incremental delivery (@defer and @stream). If an operation which would defer or stream data is executed with this function, a field error will be raised at the location of the @defer or @stream directive.

    Accepts an object with named arguments.


    Returns PromiseOrValue<AsyncGenerator<ExecutionResult, void, void> | ExecutionResult>