house-middleware-sdk
Version:
58 hosue rn native sdk
93 lines (86 loc) • 1.6 kB
JavaScript
import {
AsyncStorage
} from 'react-native';
/**
* 存储类
*
* @author haojie
* @version 2019-09-27
*/
export default class DeviceStorage {
/**
* 获取数据
* @param key
* @returns {Promise<T>|*|Promise.<TResult>}
*/
static get = async (key) => {
try {
const value = await AsyncStorage.getItem(key);
if (value !== null) {
return value;
}
} catch (error) {
console.error(error);
}
}
/**
* 获取json数据
* @param key
* @returns {Promise<*>}
*/
static getDataforJson = async (key) => {
const value = await this.get(key);
if (value) {
const jsonValue = JSON.parse(value);
return jsonValue;
}
return null;
}
/**
* 保存数据
* @param key
* @param value
* @returns {*}
*/
static save = async (key, value) => {
try {
return await AsyncStorage.setItem(key, value);
} catch (error) {
console.error(error);
}
}
/**
* 保存json
* @param key
* @param value
* @returns {*}
*/
static saveDataForJson = (key, value) => {
this.save(key, JSON.stringify(value));
}
/**
* 清空所有缓存
* @param key
* @param value
* @returns {*}
*/
static clear = async () => {
try {
return await AsyncStorage.clear();
} catch (error) {
console.error(error);
}
}
/**
* 删除单个数据
* @param key
* @returns {*}
*/
static delete = async (key) => {
try {
return await AsyncStorage.removeItem(key);
} catch (error) {
console.error(error);
}
}
}