收藏
回答

在wx.request内执行循环遍历时为何顺序不对?

for (let i = 1; i < 5; i++){
    var v=this.array;
    var that=this;
    var n=null;
    wx.request({
      url: 'http://localhost:8081/index/Perso/person', 
      data:{
        first_area_id:i,
      },
      method: 'POST',
      success: function(res) {
        console.log(res)
        that.setData({
          array:that.data.array.concat(res.data[0])
        })
      }
    })
  }
这是我在onload处编写的按ID顺序循环取出本地数据库内所有数据的方法(是的,写PHP的人就只写了一个普通查询一句,一次查一个数据,让我只能自己在小程序端遍历)
但问题却是,调试器告诉我第一个被取出来的竟然是ID为4的数据,所以基于取出顺序所形成的array数组内的顺序也完全混乱了,我想问这是为什么
回答关注问题邀请回答
收藏

2 个回答

  • .
    .
    2020-07-19

    现将res.data里数据的id进行sort降序或者升序,再得出一个新的数组拿去匹配就好了

    2020-07-19
    有用
    回复
  • Mr.Zhao
    Mr.Zhao
    2020-07-19

    顺序执行就用 async await

    2020-07-19
    有用
    回复 4
    • Hall of fame
      Hall of fame
      2020-07-19
      ok
      2020-07-19
      回复
    • Hall of fame
      Hall of fame
      2020-07-19
      谢谢
      2020-07-19
      回复
    • Mr.Fang
      Mr.Fang
      2020-08-13
      具体是怎么用的啊,能说的详细点吗?搞不会啊
      2020-08-13
      回复
    • Mr.Zhao
      Mr.Zhao
      2020-08-13回复Mr.Fang
      百度学习下js,跟小程序没关系
      2020-08-13
      回复
登录 后发表内容
问题标签