小程序for循环嵌套请求接口问题

前段时间实现一个小程序滚动加载更多消息的功能(利用scroll-view实现),其中有几个需求需要特殊处理,

  1. 点击列表项可以进入详情;
  2. 点击列表项数据状态改变;
  3. 详情返回列表项位置依旧在离开时的地方

如果点击时没有数据状态改变那么可以直接使用onLoad方法可以轻松解决,因为要刷新数据,所以只能讲数据请求放在onShow方法中,这样便造成页面返回数据不能停留在离开时的位置
首先想到的是利用for循环将获取到已经加载的页数,从1递增到离开时的页数

for(var i=1,i<=pageNum;i++){
    wx.request({
        ...//请求数据与处理
    })
}

然而微信的请求是异步的,使用var循环后i始终为最后一页.因为小程序支持ES6,直接将var换成let,可是结果和我们预想的不一样,每次获取到数据最少的最先返回,使用数组拼接concat发现顺序总是不可预测(可能和数据查询花费的时间有关)
其实能用for循环遍历的东西都可以使用递归的方法替代,只是递归的的方法效率会慢一点

function getItems(){
    wx.request({
        ... //
        success:(res)=>{
            if(num < pageNum) {
                getItems(++num);
            }
        }
    })
}
getItems(1)

这样虽然可以解决数据加载的问题,但是在IOS下还是没法回到离开时的位置,这个时候利用scroll-view组件的scroll-top属性通过bindscroll获取到高度,然后手动设置一下,这样所有的问题就解决了

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 196,099评论 5 462
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 82,473评论 2 373
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 143,229评论 0 325
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,570评论 1 267
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,427评论 5 358
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,335评论 1 273
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,737评论 3 386
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,392评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,693评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,730评论 2 312
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,512评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,349评论 3 314
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,750评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,017评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,290评论 1 251
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,706评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,904评论 2 335

推荐阅读更多精彩内容

  • 关于Mongodb的全面总结 MongoDB的内部构造《MongoDB The Definitive Guide》...
    中v中阅读 31,864评论 2 89
  • 使用快捷键可以提高我们的开发效率,所以在这里总结了一些个人的常用快捷键(不完全快捷键)。 多行快速选择文本 Ctr...
    Rin阳阅读 15,230评论 1 9
  • 小朋友真的好勇敢,我还担心你第一次取手指血会哭,没想到你看着医生阿姨只是不耐烦的哼哼唧唧,阿姨取了五分钟才取完,你...
    抒启阅读 94评论 0 1
  • 2017-01-16 “身体是革命的本钱。”打我记事起,这句话就无时无刻萦绕在我耳边,渐渐地植根于记忆。 不同的人...
    静宇蓝歆阅读 275评论 0 0
  • 我们经常会在一些过去的影视剧里看到这样一些镜头:一个穿金戴银、衣着华丽的“土豪”看到身边一些衣着俭朴的穷人,便用鄙...
    淘砂阅读 741评论 0 0