使用场景:
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 <