Un pequeño programa resuelve el problema de la interfaz de solicitud en el bucle for

Las interfaces de los applets de WeChat son todas asíncronas, si usa un bucle for

    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)

No es fácil usar temporizadores para controlar el tiempo requerido para las solicitudes de interfaz, y este método tiene una disponibilidad demasiado baja en las operaciones reales.

Puede ser reemplazado por recursividad

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();
        }
      }
    })
  },

transferir:

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

Supongo que te gusta

Origin blog.csdn.net/qq_37514029/article/details/88683212
Recomendado
Clasificación