subscribe<TParsed> method
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));
}