Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/456.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用纯javascript进行节流_Javascript_Throttling - Fatal编程技术网

使用纯javascript进行节流

使用纯javascript进行节流,javascript,throttling,Javascript,Throttling,您好,我刚刚启动了一个小节点项目,无法将节流应用到我的提交按钮 我使用表单标签和提交标签作为按钮来接收特定数据。但是我的一些用户在加载submit按钮时对其进行了垃圾邮件处理,结果它调用了多个API调用。我想防止这种情况发生,我想我必须使用油门 我正在尝试使用npm软件包中的此模块 它提供的解释是: import { throttle, debounce } from 'throttle-debounce'; throttle(300, function () { // Throttl

您好,我刚刚启动了一个小节点项目,无法将
节流
应用到我的
提交
按钮

我使用
表单
标签和
提交
标签作为按钮来接收特定数据。但是我的一些用户在加载
submit
按钮时对其进行了垃圾邮件处理,结果它调用了多个API调用。我想防止这种情况发生,我想我必须使用
油门

我正在尝试使用npm软件包中的此模块

它提供的解释是:

import { throttle, debounce } from 'throttle-debounce';

throttle(300, function () {
    // Throttled function
});
我首先使用控制台上的
npm install throttle debounce--save
安装了该模块。然后我在上面的
脚本
标记中添加了代码。但我不知道下一步该怎么办。有人请帮忙

我的代码(简化)目前如下所示:

let body1=`
<form action="/client/123" method="post">
  <input type="number" name="return" value="1">              
  <input type="submit" value="send">
</form>
<script>
import { throttle, debounce } from 'throttle-debounce';
throttle(300, function () {

});
</script>`
let html = templete.HTML(body1);
response.send(html);  
让body1=`
从“油门去盎司”导入{油门,去盎司};
节气门(300,功能(){
});
`
设html=templete.html(body1);
response.send(html);

您不需要节流功能来阻止多次提交。 我认为您应该在触发第一次提交后阻止提交按钮


disable
属性添加到submit按钮,或在javascript中使用类似
submitState='submited'
的状态阻止它,并检查是否未将其设置为Submited。

您不需要节流功能来阻止多个提交。 我认为您应该在触发第一次提交后阻止提交按钮


disable
属性添加到submit按钮,或在javascript中使用类似
submitState='submited'
的状态阻止它,并检查是否未将其设置为Submited。

是否可以仅禁用几秒钟?是的,使用
setTimeout
功能,您可以禁用submit按钮,几秒钟后即可禁用秒启用它,如
setTimeout(函数(){/*启用提交按钮或设置新状态。*/},3000)
此回调方法将在3秒钟后抛出。是否可以仅禁用几秒钟?是的,使用
setTimeout
函数,您可以禁用submit按钮,并在几秒钟后像
setTimeout(函数(){/*启用submit按钮或设置新状态。*/},3000)一样启用它此回调方法将在3秒后抛出。