微信小程序本地存储同步跟异步的区别

一.同步操作本地存储

除非必要时候,尽量使用同步方法,特别是新手,建议使用同步方法,除非同步方法解决不了问题考虑使用异步方法。

wx.setStorageSync同步存:

wx.setStorageSync('key', 'value')

效果可以在微信小程序调试器中看如下


wx.getStorageSync同步获取:

wx.getStorageSync('key')
console.log(wx.getStorageSync('key'))//value

wx.getStorageInfoSync()当前 storage 中的信息

const res = wx.getStorageInfoSync()
console.log(res.keys)//["logs", "key"]
//res.keys当前 storage 中所有的 key
console.log(res.currentSize)//1
//res.currentSize当前占用的空间大小, 单位 KB
console.log(res.limitSize)//10240
//res.limitSize限制的空间大小,单位 KB

wx.removeStorageSync同步移除某一个:

wx.removeStorageSync('key')

移除之后叫做key的storage就会消失不见


wx.clearStorageSync同步清除所有:

wx.clearStorageSync()

如下使用clearStorageSync连同之前的logs都会清除掉


二.异步操作本地存储

1.异步存储值;

将数据存储在本地缓存中指定的 key 中。会覆盖掉原来该 key 对应的内容。除非用户主动删除或因存储空间原因被系统清理,否则数据都一直可用。单个 key 允许存储的最大数据长度为 1MB,所有数据存储上限为 10MB。

wx.setStorage({
    key:"key2",
    data:"value2"
})

当我们存储了值之后就可以在微信小程序的调试栏器中看到效果了,同步跟异步除了存取执行的操作不一样之外,结果是一样的,都是存,拿值,结果是一样的,只是同步是顺序执行,而异步则是不会让界面停滞,但是这种几乎可以忽略不记,所以建议大家没有必要的话就使用同步了。
[图片上传失败...(image-ee4c86-1637290003071)]

2.wx.removeStorage()移除指定的值

从本地缓存中移除指定 key。

wx.removeStorage({
    key: 'key',
    success (res) {
        console.log(res)
    }
})

3.wx.getStorage(); 获取值

从本地缓存中异步获取指定 key 的内容。

wx.getStorage({
  key: 'key',
  success (res) {
     console.log(res.data)
  }
})

4.wx.getStorageInfo获取当前 storage 中的信息

wx.getStorageInfo({
   success (res) {
   console.log(res.keys)//["logs", "key"]
   //当前 storage 中所有的 key
   console.log(res.currentSize)//1
   //当前占用的空间大小, 单位 KB
   console.log(res.limitSize)//10240
   //限制的空间大小,单位 KB
}})

5.wx.clearStorage(); 清除所有的key

wx.clearStorage()
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容