微信小程序怎样进行本地存储的读、写、删、清?同步及异步两种类型

微信小程序提供了本地存储的API,允许开发者在页面上保存用户数据,以便在用户的会话或跨会话中持久化数据。本地存储支持同步和异步两种方式来进行读、写、删、清操作。

同步方式

微信小程序从基础库版本 2.10.0 开始,逐步废弃了同步的本地存储API(如wx.setStorageSync、wx.getStorageSync等),因为这些同步API会阻塞当前线程,可能导致页面卡顿。但了解它们仍然有助于理解概念。

  • 写(存) :wx.setStorageSync(key, data)
  • 读 :wx.getStorageSync(key)
  • 删 :wx.removeStorageSync(key)
  • 清 :wx.clearStorageSync()

异步方式

异步方式是目前推荐的存储方式,因为它们不会阻塞主线程,用户体验更好。

  • 写(存) :wx.setStorage(Object object)

    复制代码
    wx.setStorage({  
      key: 'key',  
      data: 'value',  
      success(res) {  
        console.log('存储成功');  
      },  
      fail(err) {  
        console.error('存储失败', err);  
      }  
    });
  • 读 :wx.getStorage(Object object)

    复制代码
    wx.getStorage({  
      key: 'key',  
      success(res) {  
        console.log('读取成功', res.data);  
      },  
      fail(err) {  
        console.error('读取失败', err);  
      }  
    });
  • 删 :wx.removeStorage(Object object)

    复制代码
    wx.removeStorage({  
      key: 'key',  
      success(res) {  
        console.log('删除成功');  
      },  
      fail(err) {  
        console.error('删除失败', err);  
      }  
    });
  • 清 :wx.clearStorage(Object object)

    复制代码
    wx.clearStorage({  
      success(res) {  
        console.log('清除成功');  
      },  
      fail(err) {  
        console.error('清除失败', err);  
      }  
    });

注意事项

  • 本地存储的大小限制为每个小程序10MB。
  • 本地存储的数据是保存在用户的设备上的,所以数据不会跨设备同步。
  • 敏感信息不应存储在本地存储中,因为可能会被用户或其他应用访问。
  • 在进行写操作时,如果key已存在,则会被覆盖。
  • 异步方法中的success和fail回调是可选的,但推荐总是处理可能的错误情况。

总结

虽然微信小程序提供了同步和异步两种方式进行本地存储的读、写、删、清操作,但推荐使用异步方式,以避免阻塞主线程,提升用户体验。同时,开发者应注意本地存储的限制和安全性问题。

相关推荐
fengGer的bugs7 小时前
新生儿喂养记录微信小程序:本地存储、四套主题,以及一份可改期的疫苗体检日程
微信小程序
高级程序源8 小时前
SSM仓储管理系统31582-计算机课程设计、毕业设计
vue.js·python·mysql·小程序·flask·课程设计
青企通8 小时前
弱网环境下小程序首屏性能优化:从 5.2 秒到 1.4 秒的完整实践
性能优化·小程序
5G微创业10 小时前
去除抖音视频水印的Python实现
python·微信小程序·去水印
WeiXin_DZbishe10 小时前
基于微信小程序的本地闲置物品交易平台-计算机毕设 附源码【课程设计】26825
vue.js·spring boot·python·微信小程序·架构·php·课程设计
高级程序源10 小时前
springboot本地生活服务平台33399-计算机课程设计、毕业设计
vue.js·spring boot·python·mysql·小程序·flask·课程设计
高级程序源11 小时前
django房屋租赁系统28636-计算机课程设计、毕业设计
python·mysql·elasticsearch·小程序·django·flask·课程设计
CRMEB定制开发11 小时前
开源模型正在吃掉闭源的市场,这意味着什么?
小程序·公众号商城·商城源码·crmeb·开源商城
小蒜学长12 小时前
基于微信小程序的医院医疗废弃物追溯管理系统(代码+数据库+LW)
java·spring boot·后端·微信小程序·医疗废弃物
霍营_托尼13 小时前
微信小程序点餐项目实战:飞入动画、样式错位、弹窗不消失,7 个前端坑的完整排障记录
javascript·微信小程序·动效