小程序-网络同时多次请求 加载中效果优化

针对小程序中页面同时发起多个接口请求,导致‘努力加载中’效果过早消失的问题,提出解决方案。通过设置ajaxTimes变量记录请求次数,每次请求增加计数,请求完成减少计数,当计数回到初始值0时才隐藏加载提示,确保所有数据加载完毕后再隐藏,优化用户体验。
摘要由CSDN通过智能技术生成

问题:小程序封装request请求时,页面同时请求多个接口,但是 努力加载中 只显示一次,就隐藏掉了 导致其他接口数据还没显示完全时, 努力加载中就没了, 看着页面不和谐

解决办法:定义ajaxTimes作为请求次数标记,每进入到request中次数加1,请求结束次数减1,当ajaxTimes的次数等于初始值0时,将wx.showLoading隐藏

function request(url, data, fnsuccess, fnfail) {
  ajaxTimes++;
  wx.showLoading({
    mask: true,
    title: '努力加载中'
  })
  wx.request({
    url: root_url + url,
    data: data,
    header: {
      'content-type': 'application/json'
    },
    method: 'GET',
    dataType: 'json',
    responseType: 'text',
    success: function (res) {
      fnsuccess(res);      
    },
    fail: function (res) {
      if (fnfail) fnfail(res);
      console.log(res);
      setTimeout(() => {
        wx.showToast({
          title: "显示内容",
          icon: 'none',
          duration: 2000
        })
        setTimeout(() => {
          wx.hideToast();
        }, 2000)
      }, 0);     
    },
    complete: function (res) {
      //console.log(res);
      ajaxTimes--;
      if (ajaxTimes == 0) wx.hideLoading();
    },
  })
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值