小程序禁止重复请求接口

使用场景:

1.当用户重复触发接口调用时,原本只需要拿一次的数据会被不断累加,导致数据不准确。
2.用户进入A页面时触发接口调用,该接口并未完成调用,用户就转跳去B页面,此时A页面的接口仍在运行,该设计不合理。

解决方法:

1.禁止执行接口调用函数:定义bool变量isLoading为false,当进入接口调用时先判断isLoading,如果为false则进入调用,如果为true直接return退出。
2.中断接口调用:使用小程序自带的中断函数RequestTask.abort()
官方文档:https://developers.weixin.qq.com/miniprogram/dev/api/network/request/RequestTask.abort.html

详细解决方法:

1.禁止执行接口调用函数:定义bool变量isLoading为false,当进入接口调用时先判断isLoading,如果为false则进入调用,如果为true直接return退出。

// request.js
//GET请求,不需传参,直接URL调用,
function getData(url, doSuccess, doFail) {
   
  wx.request({
   
    url: host + url,
    header: {
   
      "content-type": "application/json;charset=UTF-8"
    },
    method: 'GET',
    success: function (res) {
   
      doSuccess(res);
    },
    fail: function () {
   
      doFail();
    },
  })
}

  // index.js
  // 引入封装的接口函数
  var api <
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
小程序原生请求接口可以使用小程序内置的wx.request方法,它类似于axios库请求方法。以发送GET请求为例,可以按照以下步骤进行操作: 1. 首先,在小程序的页面,引入wx.request方法,可以使用const关键字进行声明。 2. 创建一个函数,例如sendRequest,用于发送请求。在该函数内部使用wx.request方法发送请求。 3. 在wx.request方法的参数,设置url参数为请求接口地址。例如:url: 'https://example.com/api/test'。 4. 设置请求方法为GET,可以通过设置method参数为'GET'。例如:method: 'GET'。 5. 如果有需要,可以设置请求头信息,在header参数进行设置。例如:header: {'Content-Type': 'application/json'}。 6. 可以设置data参数,传递请求的参数。例如:data: {param1: 'value1', param2: 'value2'}。 7. 在wx.request方法设置成功回调函数,即当请求成功时执行的操作。可以在success参数进行设置。 8. 在success回调函数,通过res.data获取服务器返回的数据,并进行处理。 9. 同样,在wx.request方法设置失败回调函数,即当请求失败时执行的操作。可以在fail参数进行设置。 10. 在fail回调函数,可以通过res.errMsg获取错误信息,并进行处理。 通过以上步骤,可以完成小程序原生的请求接口操作,实现类似axios库请求的功能。 需要注意的是,小程序请求接口有一些限制,例如必须使用https协议,请求接口必须在小程序后台配置白名单等。同时,小程序内置的wx.request方法与axios可能存在一些差异,具体使用时需要根据开发文档进行调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值