收藏
回答

第二次以上接口请求时判断缓存数据是否跟接口数据一样

问题模块 框架类型 问题类型 操作系统版本 手机型号 微信版本
客户端 小程序 需求 andriod 华为 7

大家好,我想实现这样的需求

1。第一次请求接口返回的数据放到缓存

2。第二次以上接口请求时判断缓存数据是否跟接口数据一样,相同时用缓存数据,不同时才用接口数据赋值

请教大家这样的需求怎么做?

最后一次编辑于  03-16  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏投诉关注问题回答

3 个回答

  • 🇨🇳 闯哥侃世界
    🇨🇳 闯哥侃世界
    03-16

    数据先排序然后转为字符串判断是否相等

    03-16
    赞同
    回复 5
    • 米粒
      米粒
      03-16

      数据是一个数组,我用下面的方法,但是一直跳转到!=里的条件里,不跳转到else方法

      if (wx.getStorageSync('home_swipers') != res.data.data) {

      wx.setStorageSync('home_swipers', res.data.data); //设置焦点图缓存

      that.setData({

      swipers: res.data.data,

      adSwiperCurrent: 0

      })

      } else {

      that.setData({

      swipers: wx.getStorageSync('home_swipers'),

      adSwiperCurrent: 0

      })

      };



      03-16
      回复
    • 米粒
      米粒
      03-16回复米粒

      找到了,

      [1,2,3].sort().toString() == [2,3,1].sort().toString();//相等


      03-16
      回复
    • 🇨🇳 闯哥侃世界
      🇨🇳 闯哥侃世界
      03-16回复米粒

      数组根据首字母排序后再转成字符串进行比较

      03-16
      回复
    • 米粒
      米粒
      03-16回复🇨🇳 闯哥侃世界

      谢谢。

      03-16
      回复
    • 🇨🇳 闯哥侃世界
      🇨🇳 闯哥侃世界
      03-17回复米粒

      不客气

      03-17
      回复
  • K
    K
    08-13

    你是怎样解决的 我也想做个类似的

    08-13
    赞同
    回复
  • 米粒
    米粒
    08-14

    把老数据存到缓存,然后每次请求新数据时对比(如:比较id),如果有不同,把新数据更换,如相同,不修改。

    08-14
    赞同
    回复