uni-app 数据缓存(setStorage)
1 <template> 2 <view> 3 4 </view> 5 </template> 6 7 <script> 8 var _self; 9 export default { 10 data() { 11 return { 12 13 } 14 }, 15 methods: { 16 17 }, 18 onLoad() { 19 // 数据缓存 异步 20 _self = this; 21 uni.setStorage({ 22 key:'name', 23 data:'hcoder', 24 success() { 25 console.log('成功了') 26 }, 27 fail() { 28 console.log('缓存失败了') 29 } 30 }); 31 32 //数据缓存 同步 一定要用try catch 包裹 33 try{ 34 uni.setStorageSync('age', '18'); 35 }catch(e){ 36 //TODO handle the exception 37 }; 38 39 //从本地缓存中 异步获取指定 key 对应的内容 40 uni.getStorage({ 41 key: 'name', 42 success: function (res) { 43 console.log('name 异步获取 = ' + res.data); 44 } 45 }); 46 47 // 同步方式获取数据, 阻塞形式,如果做完了的话代码才会向下进行 48 try{ 49 const value = uni.getStorageSync('name'); 50 if(value){ 51 console.log("const value = uni.getStorageSync('name') 同步获取 = " + value) 52 } 53 }catch(e){ 54 //TODO handle the exception 55 }; 56 57 58 // 异步获取当前 storage 的相关信息 59 uni.getStorageInfo({ 60 success: function (res) { 61 // keys: 当前 storage 中所有的 key 62 // currentSize: 当前占用的空间大小, 单位:kb current:当前的 63 // limitSize: 限制的空间大小, 单位:kb limit:限制 64 console.log('异步获取' + res.keys); 65 console.log(res.currentSize); 66 console.log(res.limitSize); 67 } 68 }); 69 70 // 同步获取 当前 storage 的相关信息 71 try { 72 const res = uni.getStorageInfoSync(); 73 console.log('同步获取' + res.keys); 74 console.log(res.currentSize); 75 console.log(res.limitSize); 76 } catch (e) { 77 // error 78 }; 79 80 // 从本地缓存中 异步移除指定 key 81 // uni.removeStorage({ 82 // key: 'name', 83 // success: function (res) { 84 // console.log('删除成功'); 85 // } 86 // }); 87 88 // 从本地缓存中 同步移除指定 key 89 // try { 90 // uni.removeStorageSync('name'); 91 // } catch (e) { 92 // // error 93 // } 94 95 // 异步清理本地数据缓存 96 // uni.clearStorage(); 97 // 98 // 99 // // 同步清理本地数据缓存 100 // try { 101 // uni.clearStorageSync(); 102 // } catch (e) { 103 // // error 104 // } 105 } 106 } 107 </script> 108 109 <style> 110 111 </style>
未使用删除 key 和 清除 本地缓存 的效果图

