收藏
回答

关于push函数执行之后顺序随机?

在小程序里面, 自己写了一个函数 ,要求是将后台获取来的数据一个个存起来, 然后按顺序在购物车列表中显示出来。

我使用的push对数据进行叠加存起来。但是实际使用的时候发现,数据push进去并无顺序可言,这是怎么回事?


如上图,其中res.data中的数据顺序是正确的,那么我按照下标去访问的话,出来的结果也是对应顺序的。然后使用了push之后,显示的结果为如下,刷新会出现不同的排序结果:

push不是就是按照推入的顺序一个个存进去的吗,所以这个问题是???求大神们帮忙解答一下,谢谢。

最后一次编辑于  03-10  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏投诉关注问题回答

1 个回答

  • 哎呦喂。
    哎呦喂。
    03-10

    我又仔细查了一下, 错误的原因应该是 出在小程序的异步加载上吧,可以用

    setInterval 来处理尴尬。。


    03-10
    赞同
    回复 1
    • 卢霄霄
      卢霄霄
      03-11

      可以

      let count=0

      let length = res.data.length

      for(var i = 0;i<length;i++){     let index = i

          wx.request({

              success:(e)=>{

                  count++

                  that.data.carts[index] = e.data[0]

                  if(count==length){

                      that.setData({

                          carts: that.data.carts

                      })

                  }

              }

          })

      }

      03-11
      1
      回复