gpt4 book ai didi

javascript - 如果用户同时单击列表,则限制对服务器的多个请求

转载 作者:行者123 更新时间:2023-12-01 03:00:20 25 4
gpt4 key购买 nike

我需要帮助。我试图跟踪用户点击。场景是,我有用户可以执行单击的列表,单击后已调用服务器来获取数据。但我陷入了这种情况,如果用户同时单击列表,则多个请求到达服务器。

我想要的只是点击调用,并向服务器请求数据。

这是我到目前为止所做的事情。

function getData(id) {
_this.lastClickId = _this.currentId;
dataFactory.getListOfData(id).then(function(response) {
if(_.isEqual(_this.lastClickId , id)){
appendData(response);
} else {
getData(executionId);
}
});
_this.currentId = id;
}

这是我的 html 代码:

<ul>
<li ng-click="getData(1)">option1</li>
<li ng-click="getData(2)">option2</li>
</ul>

最佳答案

也许这个解决方案适合您。

您需要计算出每秒允许多少次点击。就说两个就知道了。

var clickLimit = 2;

您还需要跟踪点击量。

var clickCount = 0;

每次用户点击时,您都必须将 clickCount 加 1。

现在您可以设置每秒的时间间隔,这将从 clickCount 中删除一次点击。

var clickInterval = setInterval(function () {

if (clickCount != 0) { clickCount -= 1; }

}, 1000);

然后将您的代码放入 if 语句中,该语句根据 clickLimit 检查 clickCount

if (clickCount <= clickLimit)
{
// action
}
<小时/>

另一种可能更好的方法是使用允许用户单击或不单击的 bool 值。以及每秒或其他时间将 bool 值设置为 true 的间隔。

关于javascript - 如果用户同时单击列表,则限制对服务器的多个请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46462215/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com