无缓存时 app.js异步缓存信息
index.js onload是setData({data:wx.get同步缓存})
有时拿不到缓存的数据因为还没缓存好 我加了一个判断 再setTimeout() 一段时间后重新setData()
有缓存时 正常
对于清除缓存 重新编译时 除了setTimeout()这个方法 有没有更好的解决方案
这问题见过好多好多遍了。。
app.js
onLaunch:function(){
wx.request({
success: res=>{
wx.setStorage({
key:‘xxx’,
value:res.xxxxx
})
typeof(this.callBack) && this.callBack(res.xxxxx)
}
})
}
page.js
const app = getApp()
onLoad: function(){
wx.getStorage({
key:‘xxx’,
success: res=>{
this.deal(res)
},
fail: ()=>{
app.callBack = this.deal
}
})
}
网络请求使用Promise进行封装,然后App上实现一个预取接口数据的存储Map,再加上一个事件通知方法,这样在Page上就能根据有无数据,与通知刷新方式进行接口数据的及时更新。
可以看下这个:https://juejin.im/post/5bc70e275188255c5f541da1#heading-20