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

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

同步方式

微信小程序从基础库版本 2.10.0 开始,逐步废弃了同步的本地存储API(如wx.setStorageSyncwx.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已存在,则会被覆盖。
  • 异步方法中的successfail回调是可选的,但推荐总是处理可能的错误情况。

总结

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

相关推荐
宠友信息44 分钟前
2025社交+IM及时通讯社区APP仿小红书小程序
java·spring boot·小程序·uni-app·web app
“负拾捌”1 小时前
python + uniapp 结合腾讯云实现实时语音识别功能(WebSocket)
python·websocket·微信小程序·uni-app·大模型·腾讯云·语音识别
换日线°19 小时前
NFC标签打开微信小程序
前端·微信小程序
光影少年1 天前
AIGC + Taro / 小程序
小程序·aigc·taro
2501_915918411 天前
在 iOS 环境下查看 App 详细信息与文件目录
android·ios·小程序·https·uni-app·iphone·webview
2501_916007471 天前
没有 Mac 用户如何上架 App Store,IPA生成、证书与描述文件管理、跨平台上传
android·macos·ios·小程序·uni-app·iphone·webview
天空属于哈夫克31 天前
Go 语言实战:构建一个企微外部群“技术贴收藏夹”小程序后端
小程序·golang·企业微信
菜鸟una1 天前
【微信小程序+Taro 3+NutUI 3】input (nut-input) 、 textarea (nut-texteare)类型使用避坑
前端·vue.js·微信小程序·小程序·taro
计算机毕设指导61 天前
基于微信小程序的校园二手交易系统【源码文末联系】
java·spring boot·spring·微信小程序·小程序·tomcat·maven
Jiaberrr1 天前
小程序setData性能优化指南:避开坑点,让页面丝滑如飞
前端·javascript·vue.js·性能优化·小程序