wx.getBackgroundFetchData+扫码进入场景,预拉取数据有缓存?
发布于 4 年前 作者 fuli 2463 次浏览 来自 问答

问题场景步骤为:

1.在app.js里使用了wx.getBackgroundFetchData,fetchType设置’pre’,项目支持扫码进入到小程序场景,在成功进入一次并成功获取预拉取的数据后,此时将小程序放置后台5-10分钟。

2.再次扫码(携带不同参数)进入小程序,onLanuch会再次执行,wx.getBackgroundFetchData也会再次执行,但是返回的却是上一次拉取的数据,请问冷启动时预拉取是否有缓存数据,缓存时间是多久?官方文档上对此‘缓存数据’的时间没有说明

代码如下:

onLaunch(options) {
    if (options.query && (options.query.scene || options.query.id)) {
      var code = options.query.scene || options.query.id
      wx.getBackgroundFetchData({
        fetchType: 'pre',
        success: (res) => {
          var fetchedData = JSON.parse(res.fetchedData)
          console.log(fetchedData) //小程序放置后台5-10分钟内,再次扫码进入,fetchedData返回的可能为上一次拉取的数据
        },
        fail: (res) => {
          console.log(res)
        }
      })
    }
  },
回到顶部