了解到通过配置数据预拉取可以在更早的生命周期调用网络请求以提升首屏数据的渲染速度,但通过官方文档和网上各种文章解析,都没有把API给解释明白且社区存在大量反馈问题,通过深入的了解和调试,故写下本解析文章。
官方文档说明
首先配置预拉取地址信息和在开发者工具开启数据预拉取功能这些基础问题就不说了,网上看到存惑的大概就是两个API的使用,以下是小程序官方文档的解释:
wx.getBackgroundFetchData(object object)
拉取 backgroundFetch 客户端缓存数据。 当调用接口时,若当次请求未结束,会先返回本地的旧数据(之前打开小程序时请求的),如果本地没有旧数据,安卓上会返回fail,不会等待请求完成,iOS上会返回success但fetchedData为空,也不会等待请求完成。建议和 wx.onBackgroundFetchData 配合使用。
wx.onBackgroundFetchData(function listener)
监听收到 backgroundFetch 数据事件。如果监听时请求已经完成,则事件不会触发。建议和