小さなプログラムはforループのリクエストインターフェイスの問題を解決します

forループを使用する場合、WeChatアプレットのインターフェースはすべて非同期です。

    var arr = [];
    for(var i = 0;i<5;i++){
      wx.request({
        url: '',
        header: {
          'content-type': 'application/json', // 默认值
          "Authorization": 'Bearer ' + wx.getStorageSync('token'),
        },
        success(resp) {
          arr.push(resp.data)
        }
      })
    }
    setTimeout(function(){
      console.log(arr);
    },1000)

タイマーを使用してインターフェース要求に必要な時間を制御することは容易ではなく、この方法は実際の操作での可用性が低すぎます。

再帰で置き換えることができます

getammeternumber:function(res,i,length){
    var that = this;
    var ammeterInfo = that.data.ammeterInfo;
    wx.request({
      url: '',
      header: {
        'content-type': 'application/json', // 默认值
        "Authorization": 'Bearer ' + wx.getStorageSync('token'),
      },
      success(resp) {
        ammeterInfo.push(resp.data);
        that.setData({
          ammeterInfo: ammeterInfo
        })
        if (++i< length) {
          that.getammeternumber(res, i, length);
        }else{
          wx.hideLoading();
        }
      }
    })
  },

転送:

that.getammeternumber(res、0、res.data.length);

おすすめ

転載: blog.csdn.net/qq_37514029/article/details/88683212