美文网首页
缓存问题之异步处理(微信小程序)

缓存问题之异步处理(微信小程序)

作者: 何小鹏 | 来源:发表于2018-07-02 17:50 被阅读760次

微信小程序里面的本地缓存
wx.setStorage(wx.setStorageSync)、wx.getStorage(wx.getStorageSync)、wx.clearStorage(wx.clearStorageSync)

可以对本地缓存进行设置、获取和清理。本地缓存最大为10MB

localStorage:是永久存储,以用户维度隔离,同一台设备上,A 用户无法读取到 B 用户的数据。

注意: 如果用户储存空间不足,小程序会清空最近最久未使用的小程序的本地缓存。不建议将关键信息全部存在 localStorage,以防储存空间不足或用户换设备的情况。

一、异步缓存

在小程序中无Sync结尾的本地缓存中,都为异步缓存
wx.setStorage(object)
参数object说明

QQ图片20180702151348.png
示例
  wx.setStorage({
      key: "key",
      data: "value",
      success:function(res){
        console.log(res);
      },
      fail:function(log){
        console.log(log);
      },
      complete:function(com){
        console.log(com);
      }
    })

控制台
表示储存成功

QQ图片20180702155701.png

wx.getStorage(object)
示例

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

这个key值就是先前setStorage的命名key,证明指定获取那个缓存中的数据

wx.clearStorage(object)
清理本地数据缓存

  wx.clearStorage({
      success: function (res) {
        console.log(res);
      }
    })

将之前储存在Storage中的数据清空。适用于退出登录后登录信息的清除

wx.getStorageInfo(object)
异步获取当前storage的相关信息(当前小程序里面所有的storage的储存信息

wx.getStorageInfo({
      success: function (res) {
        console.log(res.keys)
        console.log(res.currentSize)
        console.log(res.limitSize)
      }
    }) 

参数说明

1532402730(1).png

执行结果

1532402666(1).png

wx.removeStorage(OBJECT)
从本地缓存中异步移除指定 key值

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

获取当前data值时将报错undefined
执行结果

1532403094(1).png
二、同步缓存

相关文章

网友评论

      本文标题:缓存问题之异步处理(微信小程序)

      本文链接:https://www.haomeiwen.com/subject/gcwkuftx.html