清除缓存第一次刷新页面点击向右请求上一期刊latestIndex 为空

来源:9-10 onNext与函数重构技巧

昨夜星辰1024

2019-04-15

比如现在打开页面最新期刊是8月,向左按钮为不可点击,向右按钮为可点击,点击向右这个时候isLatest里面latestIndex 为空,然后你再向左回去应该是8月缓存里存的也是8,但是latestIndex 却是7,向左按钮也未变灰。

isLatest(index) {
let latestIndex = this._getLatestIndex();
// console.log(index);
console.log(latestIndex)
return latestIndex == index ? true : false
}
_setLatestIndex(index) {
//这个没问题的,每次点击是可以设置正确的storage
wx.setStorageSync(‘latest’, index)
}

_getLatestIndex() {
    let index = wx.getStorageSync('latest');
    //这里就不对了,每次都会比实际少1,我现在缓存是5,当前期刊也是5月,但是取出的index却6,
    //清除缓存后刷新页面一直向右点击打印出的index值依次为:空 7 6 5 4 3 2   然后再向左点击为:1 2 3 4 5 6 7
    //回到8月应该向左按钮变灰也没有变灰因为index为7,再点击向左会报错
    //GET http://bl.7yue.pro/v1/classic/8/next 404 (NOT FOUND)
    console.log(index);
    return index
}
写回答

1回答

7七月

2019-04-15

这块的逻辑是肯定没有问题的,你可以看看线上的代码,如果有同类的bug,那说明课程是有问题的。如果没有,那么还是要检查下代码的逻辑。

0
4
昨夜星辰1024
回复
7七月
老师是我的问题,我又对了一遍您的视频,我把this._setLatestIndex(res.index)写在了getClassic里了,应该是写在getLatest里面。还是粗心啊,哈哈。
2019-04-15
共4条回复

纯正商业级微信小程序应用实战,全方位小程序特性讲解

真实数据的高质量小程序项目,学会直接工作

4782 学习 · 2125 问题

查看课程