subscribe<TParsed> method

Stream<QueryResult<TParsed>> subscribe<TParsed>(
  1. SubscriptionOptions<TParsed> options
)

This subscribes to a GraphQL subscription according to the options specified and returns a Stream which either emits received data or an error.

{@tool snippet} Basic usage

subscription = client.subscribe(
  SubscriptionOptions(
    document: gql(
      r'''
        subscription reviewAdded {
          reviewAdded {
            stars, commentary, episode
          }
        }
      ''',
    ),
  ),
);

subscription.listen((result) {
  if (result.hasException) {
    print(result.exception.toString());
    return;
  }

  if (result.isLoading) {
    print('awaiting results');
    return;
  }

  print('New Review: ${result.data}');
});

{@end-tool}

Implementation

Stream<QueryResult<TParsed>> subscribe<TParsed>(
    SubscriptionOptions<TParsed> options) {
  final policies = defaultPolicies.subscribe.withOverrides(
    options.policies,
  );
  return queryManager.subscribe(options.copyWithPolicies(policies));
}