国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > JavaScript > 正文

React Native AsyncStorage本地存儲(chǔ)工具類

2019-11-19 15:05:35
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

利用react-native組件AsyncStorage,通過(guò)promise,保存本地?cái)?shù)據(jù),具體內(nèi)容如下

import {AsyncStorage} from 'react-native';export default class StorageUtil {  /**   * 保存一個(gè)Json對(duì)象   * @param key   * @param value   * @param callback   */  static async saveJsonObject(key, value) {    return await this.saveString(key, JSON.stringify(value));  }  /**   * 獲取一個(gè)Json對(duì)象   * @param key   * @param defaultObject   */  static async getJsonObject(key, defaultObject) {    let result=null;    try{      result=await this.getString(key,null);      result=await JSON.parse(result);    }catch (err){      if(defaultObject){        return Promise.resolve(defaultObject);      }else{        return Promise.reject(err);      }    }    return result;  }  /**   * 保存一個(gè)值   * @param key   * @param value   */  static async saveString(key, value) {    if (key != null && value != null) {      //Key 與Value 都不為空      try {         await AsyncStorage.setItem(key, value)      } catch (err) {        return Promise.reject(err)      }      return Promise.resolve(true);    } else {      return Promise.reject({"msg": "Key and value can not be null"});    }  }  /**   * 獲取一個(gè)值   * @param key   * @param defaultValue   */  static async getString(key, defaultValue) {    let result = null;    let noDataError = {"msg": "No value found !"};    if (key != null) {      result = await AsyncStorage.getItem(key);      // console.log('get string result',result,defaultValue);      return result ? result : defaultValue!=null ? defaultValue : Promise.reject(noDataError);    } else {      if (defaultValue) {        return Promise.resolve(defaultValue);      } else {        return Promise.reject(noDataError);      }    }  }  /**   * 移除一個(gè)值   * @param key   */  static async remove(key) {    let result = true;    try {      result = await AsyncStorage.removeItem(key);    } catch (err) {      return Promise.reject(err)    }    return result;  }  /**   * 獲取所有已存儲(chǔ)   */  static async getAllKeys() {    let result=true;    try {      result = await AsyncStorage.getAllKeys();    } catch (err) {      return Promise.reject(err)    }    return result;  }}

外界調(diào)用

保存

StorageUtil.saveJsonObject(KEY_LOCAL_USER_INFO, user);

讀取

StorageUtil.getJsonObject(KEY_LOCAL_USER_INFO).then(data=>{console.log(data))}

清除

StorageUtil.remove(KEY_LOCAL_USER_INFO)

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持武林網(wǎng)。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 宁远县| 博兴县| 大渡口区| 兰州市| 华蓥市| 普兰店市| 长乐市| 黄浦区| 长兴县| 保靖县| 吴忠市| 腾冲县| 博罗县| 长兴县| 夏河县| 宝山区| 景泰县| 龙井市| 磴口县| 福海县| 合川市| 仲巴县| 万安县| 师宗县| 平原县| 石嘴山市| 阿图什市| 高唐县| 龙海市| 玛纳斯县| 霍邱县| 英吉沙县| 青浦区| 安康市| 凤庆县| 郓城县| 龙川县| 三穗县| 微山县| 和顺县| 西藏|