首先:
一、在util.js中放入如下两组函数
1. 设置点击后多久不能再次 *** 作该
function throttle(fn, gapTime) {
if (gapTime == null || gapTime == undefined) {
gapTime = 1500
}
let _lastTime = null
// 返回新的函数
return function () {
let _nowTime = + new Date()
if (_nowTime - _lastTime >gapTime || !_lastTime) {
fn.apply(this, arguments) //将this和参数传给原函数
_lastTime = _nowTime
}
}
}
2. 设置加载动画
function showLoading(message) {
if (wx.showLoading) { // 基础库 1.1.0 微信6.5.6版本开始支持,低版本需做兼容处理
wx.showLoading({
title: message, mask: true
})
} else { // 低版本采用Toast兼容处理并将时间设为20秒以免自动消失
wx.showToast({
title: message, icon: 'loading', mask: true, duration: 20000
})
}
}
function hideLoading() {
if (wx.hideLoading) { // 基础库 1.1.0 微信6.5.6版本开始支持,低版本需做兼容处理
wx.hideLoading()
} else {
wx.hideToast()
}
}
并且将其导出作为页面使用:
module.exports = {
throttle: throttle,
showLoading: showLoading,
hideLoading: hideLoading,
}
二、将函数引入页面使用
const util = require('../../utils/util.js')
即可。
防止重复点击是为防止由于网络问题未响应或者客户多次点击导致数据多次请求致后台,造成后台数据出现重复处理及其他幂等性问题,我们通过再小程序全局配置,在触发后台请求参数时,通过特定方式调用这个全局配置方式,控制住重复点击带给我们的困扰。
app.js
其他js下调用
耗能有两个方面,一是服务器耗能,二是客户端耗能(用户手机),下面结合题主的两种方式说说。多次请求:需要和服务器多次通信,理论上更消耗服务器性能,但也不是绝对的。如果一次请求太大的数据,会比多次请求更消耗服务器性能。
多次循环:理论上更消耗客户端性能,因为大量数据需要在客户端处理。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)