Skip to main content

Custom Storage Adapter

Alova involves multiple functions that require data persistence, such as persistent cache, silent submission, and offline submission. By default, alova will use localStorage to store persistent data, but considering the non-browser environment, it also supports customization.

Customizing the storage adapter is also very simple, you only need to specify the functions for saving data, getting data, and removing data, roughly like this.

const customStorageAdapter = {
set(key, value) {
// Save the data, value is structured data, which can be converted to a string by calling JSON.stringify
},
get(key) {
// get data, return structured data, which can be converted by calling JSON.parse
},
remove(key) {
// remove data
}
};

Then pass in this adapter when creating an alova instance.

const alovaInstance = createAlova({
//...
storageAdapter: customStorageAdapter
});

SessionStorage storage adapter example

const sessionStorageAdapter = {
set(key, value) {
sessionStorage.setItem(key, JSON.stringify(value));
},
get(key) {
const data = sessionStorage.getItem(key);
return data ? JSON.parse(data) : data;
},
remove(key) {
sessionStorage.removeItem(key);
}
};