Promise封装wx.request与wx.setStorage,设置过期时间的实现

在微信小程序开发中,我们经常会遇到异步操作,如wx.requestwx.setStoragewx.request用于发送HTTP请求,而wx.setStorage用于数据的持久化存储。为了避免回调地狱,提升代码的可读性与可维护性,可以通过Promise对这两个API进行封装,并实现过期时间功能。以下是详细的实现:

  1. Promise:ES6引入的异步操作处理方法,保证异步操作顺序执行。
  2. wx.request封装:将回调函数封装为返回Promise的函数,处理网络请求的结果。
  3. wx.setStorage封装:将数据存储封装为返回Promise的函数,并加入过期时间功能。
  4. 过期时间设置:在存储数据时,同时存储过期时间戳,读取时检查是否过期。
  5. 组合使用:结合wxRequestwxSetStorage,可以在数据未过期时使用本地缓存,否则重新发起网络请求。

示例代码:

async function fetchData() {
  try {
    const cacheKey = 'myData';
    const cachedData = wx.getStorageSync(cacheKey);
    const expireTime = wx.getStorageSync('expire_' + cacheKey);
    if (cachedData && expireTime && Date.now() < expireTime xss=removed>

通过这种封装方式,可以简化异步操作,使代码更清晰易维护。

rar 文件大小:2.99KB