then 微信小程序_微信小程序的数据缓存

本文探讨了如何在微信小程序中使用Promise封装wx.request,并利用wx.getStorageSync进行数据缓存,以提高网络请求效率。通过缓存首页请求的数据,列表页和详情页可直接复用,提升用户体验。
摘要由CSDN通过智能技术生成

9c4e44cea7c95e4bdc21d6acb57aeca0.png

之前写了一篇 Promise 在微信小程序中的应用 使用 Promise 来封装 wx.request 请求

const getData = (url, callBack) => {
  return new Promise(function(resolve, reject){
    wx.request({
      url: url,
      header: {
        Accept: 'application/vnd.api+json'
      },
      success: (res) => {
        const data = res.data;
        resolve(data)
      },
      fail: err => {
        console.log('Api fetch fail!')
      },
      complete: () => {
        callBack && callBack();
      }
    })
  })
}

module.exports = {
  getData: getData
}

我把它放入到了一个独立的js文件中,充当无任何UI组件逻辑的纯粹提供服务的功能,谁需要谁调用,首页需要首页调用,列表页需要列表页调用,那么问题来了,这样会导致网络数据请求非常的慢,没有必要都请求,首页请求的数据可以缓存起来,列表页可以直接用,详情页也可以用。

微信小程序提供了,wx.getStorageSync() 方法设置 storage 缓存:

f02d7fb81f5ff1705a40f912fed408ef.png
onLoad: function (options) {
    const res = wx.getStorageSync('_res');
    if (res) {
      this.setArticle(res)
    } else {
      ArticleService.getData('http://xxx.com/api').then(res => {
        this.setArticle(res, type);
        // 缓存数据
        wx.setStorageSync('_res', res);
      })
    }
  }

在开发过程中,建议开启体验评分,可看到详细的优化建议:

754522264bce3ed9226e0fdda2d7cd94.png
微信小程序评分体验

小程序体验可扫描

cfb4e93626884f94f5a2e131b453228f.png
Drupal 每周推荐 微信小程序
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值