graphql-js
84b122c0 - AbortController support (#4250)

Commit
334 days ago
AbortController support (#4250) This adds support for aborting execution from the outside or resolvers, this adds a few tests and tries to make the support as easy as possible. Do we want to support having abort support on subscriptions, I guess it makes sense for server-sent events. I've chosen 2 places to place these interrupts - `executeFieldsSerially` - every time we start a new mutation we check whether the runtime has interrupted - `executeFields` - every time we start executing a new field we check whether the runtime has interrupted - inside of the catch block as well so we return a singular error, all though this doesn't really matter as the consumer would not receive anything - this here should also take care of deferred fields When comparing this to `graphql-tools/execute` I am not sure whether we want to match this behavior, this throws a DomException which would be a whole new exception that gets thrown while normally during execution we wrap everything with GraphQLErrors. Supersedes https://github.com/graphql/graphql-js/pull/3791 Resolves https://github.com/graphql/graphql-js/issues/3764 Co-authored-by: yaacovCR <yaacovCR@gmail.com>
Author
Parents
Loading