油门纯 javascript
throttle with pure javascript
你好,我刚开始一个小节点项目,在将 throttle
应用到我的 submit
按钮时遇到了问题。
我正在使用 form
标签和 submit
标签作为接收特定数据的按钮。但是我的一些用户在加载时向 submit
按钮发送垃圾邮件,结果它调用了多个 API 调用。我想防止这种情况并认为我必须使用 throttle
我正在尝试使用 npm 包中的这个模块 throttle-debounce
它提供的解释是:
import { throttle, debounce } from 'throttle-debounce';
throttle(300, function () {
// Throttled function
});
我首先在控制台上使用 npm install throttle-debounce --save
安装了模块。然后我在 script
标签中添加了上面的代码。但我不知道下一步该怎么做。有人请帮助。
我的代码(简化版)目前看起来像这样:
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);
您不需要限制功能来阻止多次提交。
我认为您应该在触发第一次提交后阻止提交按钮。
将 disable
属性添加到提交按钮或在您的 javascript 中以 submitState = 'submitted'
之类的状态阻止它并检查是否未设置为已提交。
你好,我刚开始一个小节点项目,在将 throttle
应用到我的 submit
按钮时遇到了问题。
我正在使用 form
标签和 submit
标签作为接收特定数据的按钮。但是我的一些用户在加载时向 submit
按钮发送垃圾邮件,结果它调用了多个 API 调用。我想防止这种情况并认为我必须使用 throttle
我正在尝试使用 npm 包中的这个模块 throttle-debounce
它提供的解释是:
import { throttle, debounce } from 'throttle-debounce';
throttle(300, function () {
// Throttled function
});
我首先在控制台上使用 npm install throttle-debounce --save
安装了模块。然后我在 script
标签中添加了上面的代码。但我不知道下一步该怎么做。有人请帮助。
我的代码(简化版)目前看起来像这样:
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);
您不需要限制功能来阻止多次提交。 我认为您应该在触发第一次提交后阻止提交按钮。
将 disable
属性添加到提交按钮或在您的 javascript 中以 submitState = 'submitted'
之类的状态阻止它并检查是否未设置为已提交。