收藏
回答

关于数据预拉取wx.getBackgroundFetchData的疑问?

官方文档说调用wx.get...和wx.on...这两个,我的疑问是获取到数据后的处理代码,到底放在on里的1处,还是放在get里的2处?总不能像示例中的两处都写相同的处理代码吧(这样代码会执行2遍)?

这两个api的执行顺序是怎样的?难道wx.get...里的sucess这儿,不是总能获得正确的数据吗?(要不然还要wx.on...干嘛?)官方提供这个wx.on...的意义在哪?

而如果要把业务处理代码放在1处,文档中又说了,这个api并不总是会触发的...

所以现在搞不清楚,我获取数据后的处理代码,要写在1处还是2处呢?感觉这2处都不是100%能执行到的。

光一个预拉取就头疼了,我还想加上周期性更新呢,这个好像也会触发wx.on..如果加上就更晕了。

查阅了很多资料,都没有搞明白。网上的好多教程基本是照搬官方资料,希望有真正项目实践过的大神解惑,不甚感谢!

回答关注问题邀请回答
收藏

1 个回答

  • 社区技术运营专员-Jahozheng
    社区技术运营专员-Jahozheng
    03-26

    getBackgroundFetchData可能拉到新的,也可能拉到旧的缓存的

    想要每次都获取到最新的数据的话,要配合 onBackgroundFetchData 使用

    onBackgroundFetchData 每次都是最新的

    可以等到两个事件后处理代码

    03-26
    有用
    回复 5
    • 神经蛙
      神经蛙
      03-26
      感谢回复!追问:
      1.get...拉到新的还是旧的,依据什么?
      2.“可以等到两个事件后处理代码”,这个什么意思、具体怎么实现?是说业务处理代既不写在on里,也不写在get里?
      3.我发现只要MP后台配置了抓取url,不管代码里有没有写wx.get...之类的代码,微信都会去请求数据。我这个理解对吗?
      03-26
      回复
    • 社区技术运营专员-Jahozheng
      社区技术运营专员-Jahozheng
      03-26回复神经蛙
      1.
      03-26
      回复
    • 社区技术运营专员-Jahozheng
      社区技术运营专员-Jahozheng
      03-26回复神经蛙
      2.是的 可以后续在处理
      03-26
      回复
    • 社区技术运营专员-Jahozheng
      社区技术运营专员-Jahozheng
      03-26回复神经蛙
      3.是的 第一次冷启动不会调用,要等到下一次冷启动
      03-26
      回复
    • 神经蛙
      神经蛙
      03-26
      感谢了,虽然还是晕的。官方要是出个最佳实践代码就好了,文档里太笼统了。网上也查不到真正能用的。我看社区似乎有不少人对此很困惑,也有好多人用不起来放弃了。感觉这是个挺好的功能,如果开发者都不用就太可惜了。我再琢磨吧,再搞不明白只好也先放一放了。。。
      03-26
      回复
登录 后发表内容