apollo-link-queue
An Apollo Link that acts as a gate and queues requests when the gate is closed. This can be used when there is no internet connection or when the user has explicitly set an app to offline mode.
Installation
npm install apollo-link-queue
or
yarn add apollo-link-queue
Usage
import QueueLink from 'apollo-link-queue';
const queueLink = new QueueLink();
queueLink.close();
queueLink.open();
Offline mode example with queueing and retry
import { ApolloLink } from 'apollo-link';
import { HttpLink } from 'apollo-link-http';
import { RetryLink } from 'apollo-link-retry';
import QueueLink from 'apollo-link-queue';
const offlineLink = new QueueLink();
window.addEventListener('offline', () => offlineLink.close());
window.addEventListener('online', () => offlineLink.open());
this.link = ApolloLink.from([
new RetryLink(),
offlineLink,
new HttpLink({ uri: URI_TO_YOUR_GRAPHQL_SERVER }),
]);