apollo-angular-link-http-batch
v1.9.0
Published
An Apollo Link to combine multiple GraphQL operations into single HTTP request.
Downloads
4,279
Readme
HTTP Link
Purpose
An Apollo Link to combine multiple GraphQL operations into single HTTP request.
Installation
npm install apollo-angular-link-http-batch --save
Usage
import {
HttpBatchLinkModule,
HttpBatchLink,
} from 'apollo-angular-link-http-batch';
@NgModule({
imports: [HttpBatchLinkModule],
})
class AppModule {
constructor(httpLink: HttpBatchLink) {
const link = httpLink.create({uri: '/graphql'});
}
}
HttpClient
The HTTP Link relies on having HttpClient
(from @angular/common/http
)
present in your application.
Options
Accepts the same options as apollo-angular-link-http
.
BatchOptions
The batching options indicate how operations are batched together.
| name | value | default | required | | ------------- | -------- | ------- | -------- | | batchInterval | number | 10 | false | | batchMax | number | 10 | false | | batchKey | Function | - | false |
batchInterval
- the maximum time a batch will wait before automatically being sent over the networkbatchMax
- the size of batchesbatchKey
a function that accepts an operation and returns a string key, which uniquely names the batch the operation belongs to, defaults to returning the same string.
NOTICE:
batchKey
by default batches together requests with the same uri and the same options. Since options from an operation's context overwrites those from a link you could end up with few differents keys and what it means, few separate requests.
Context
Works in the same way as in apollo-angular-link-http
.
To skip batching you can set skipBatching: true
in operation's context.
NOTICE:
skipBatching
works only with the defaultbatchKey
. To create custom one you should check ifskipBatching
is set in context and generate a randombatchKey
for that operation.