存储数据时写任何应用性程序的必备功能,接下这篇文章将会告诉你如何在微信小程序中将数据到本地中:

这里都将方法进行分装,以便后期调用

同步

1,wx.setStorageSync(key,value)   存储数据,调用微信平台提供的方法,使用键值对的方式存储数据

//获取数据
export const getstorage=(key)=>{
  const value=  wx.getStorageSync(key)
  if(value){
    return value
  }else
  {   
    console.log("获取数据异常")
}
  }

这里展示在另一个js文件中调用这个方法

import {model, toast,setstorage,getstorage,removestorage,clearstorage} from './pages/extend'   //先导入js文件
  
  async  onShow(){

 setstorage('name','zhangsan')
}

保存后在调试器的storage中就可以看见存储的数据

其他的三种:

wx.getStorageSync(key)  获取数据

wx.removeStorageSync(key)  清除指定数据

wx.clearStorageSync  清除本地数据

使用方法也是相同

//获取数据
const getstorage=(key)=>{
  const value=  wx.getStorageSync(key)
  if(value){
    return value
  }else
  {   
    console.log("获取数据异常")
}
  }
  const removestorage=(key)=>{
    try {
      wx.removeStorageSync(key)
      console.log("成功移除本地指定数据")
    } catch (error) {
      console.error("删除${key}出现异常",error)
    }
  }
  //清空
  const clearstorage=()=>{
    try {
      wx.clearStorageSync()
    } catch (error) {
      console.error("清空数据出现异常")
    }
  }
export {setstorage,getstorage,removestorage,clearstorage}

在调用微信提供的存储方法时,需要注意同步调用(含有Sync)这样可以快速查看效果,如果使用异步,则可以误以为方法未执行,如果使用异步你也可以使用打印语句来检查是否调用成功。

异步

下面我们来看看异步调用:

//使用同步存储的方法对数据进行添加,获取,清除指定数据,清空数据
 const asyncsetstorge=(key,value)=>{
     return new Promise((resolve,reject) => {
          wx.setStorage({
            key,
            data:value,
            complete(res){
              resolve(res)
            }
          })
     })
 }
//调用方法
asyncsetstorge('name','lisi').then((res)=>{
  console.log(res)
})

  }

异步存储和同步存储相同,存储数据时也是通过键值对的方式,这里我们直接讲述方法执行流程让读者更好理解,

当调用asyncsetorage时会以name为键,以lisi为值作为参数传给分装好的const asyncsetstorge=(key,value)方法,然后调用promise返回函数,(该函数中有三种状态:peding(进行中),fulfilled(已成功),reject(已失败))此时的promise的状态是peding,然后调用wx.setStorage,此后complete将resolve(res)将peding状态变为fulfilled将这个状态信息传给res,最终then函数得到res结果后,将数据打印在控制台。

这里不在展示wx.getStorage,wx.removeStorage,wx.clearStorage,这三种和上述执行基本一致,若读者想要细致了解,可以访问小程序官网:wx.removeStorageSync(string key) | 微信开放文档

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐