UNPKG

house-middleware-sdk

Version:

58 hosue rn native sdk

93 lines (86 loc) 1.6 kB
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); } } }