natty-fetch-plugin-offline
v1.1.2
Published
`natty-fetch` 离线插件
Downloads
5
Readme
natty-fetch-plugin-offline
The offline plugin for natty-fetch.
install width npm:
npm install --save natty-fetch-plugin-offline
Configuration
Typical Usage:
import nattyFetch from 'natty-fetch';
import NattyFetchPluginOffline from 'natty-fetch-plugin-offline';
import { DRIVERS } from 'a-storage';
const offlinePlugin = NattyFetchPluginOffline({
driver: DRIVERS.SESSIONSTORAGE,
});
const context = nattyFetch.context();
context.create({
foo: {
url: 'foo.json',
method: 'GET',
plugin: [
offlinePlugin,
]
}
});
driver
Select the usage of particular driver, which is defined in a-storage.
type: String
default:
LOCALSTORAGE
available drivers:
driver | description --- | ---
MEMORY
| Use JavaScript ObjectLOCALSTORAGE
| Use native localStorageSESSIONSTORAGE
| Use native sessionStorageDOMAINSTORAGE
| domainStorage provide by dingtalk
offlineEnv
- Define the offline environment. When the page or device is in the offline environment, the request will response with the data which is stored in the local storage.
- type: Array
- default:
['2g', '3g', 'unknown', 'none']
getEnvType
Define the method which get the environment type. Always return the promise object that can be resolved.
type: Function
default: built-in function
example:
getEnvType() { return Promise.resolve('4g'); }
autoResendRequest
- Save the request sent in offline, and resend it when the network is online.
- type: Boolean
- default: false
pollingInterval
- Used with
autoResendRequest
settrue
, the plugin will polling the network status at intervals. - type: Number
- default: 1e3 * 10
HOW TO
How to clear stored data in the local storage manually?
When used with this plugin, this context object will add a property named storage
which is the instance of a-storage. You can clear the storage data with it.
const context = nattyFetch.context();
context.create({
...,
foo: {
plugin: [ offlinePlugin ]
}
});
context.foo.storage.clear();