Javascript中按键事件的限制
我有一个react应用程序,我有一个事件侦听器集,这样当用户键入时,就会触发autosave函数。问题是,我不希望每个事件都触发api调用。理想情况下,当用户键入时,我希望它每隔3秒左右轮询一次API 我目前有以下代码:Javascript中按键事件的限制,javascript,reactjs,Javascript,Reactjs,我有一个react应用程序,我有一个事件侦听器集,这样当用户键入时,就会触发autosave函数。问题是,我不希望每个事件都触发api调用。理想情况下,当用户键入时,我希望它每隔3秒左右轮询一次API 我目前有以下代码: window.setTimeout(function() { window.setInterval(function() { console.log(data); this.actions.autoSave(data); }, 3000); }, 3
window.setTimeout(function() {
window.setInterval(function() {
console.log(data);
this.actions.autoSave(data);
}, 3000);
}, 3000);
你可以想象,这不是我想要的。所以我想知道最好的方法是什么 这是一个通用的油门功能:
var functionName = (function () {
'use strict';
var timeWindow = 500; // time in ms
var lastExecution = new Date((new Date()).getTime() - timeWindow);
var functionName = function (args) {
// your code goes here
};
return function () {
if ((lastExecution.getTime() + timeWindow) <= (new Date()).getTime()) {
lastExecution = new Date();
return functionName.apply(this, arguments);
}
};
}());
var functionName=(函数(){
"严格使用",;
var timeWindow=500;//以毫秒为单位的时间
var lastExecution=新日期((新日期()).getTime()-timeWindow);
var functionName=函数(args){
//你的密码在这里
};
返回函数(){
如果((lastExecution.getTime()+timeWindow)这是一个通用的节流函数:
var functionName = (function () {
'use strict';
var timeWindow = 500; // time in ms
var lastExecution = new Date((new Date()).getTime() - timeWindow);
var functionName = function (args) {
// your code goes here
};
return function () {
if ((lastExecution.getTime() + timeWindow) <= (new Date()).getTime()) {
lastExecution = new Date();
return functionName.apply(this, arguments);
}
};
}());
var functionName=(函数(){
"严格使用",;
var timeWindow=500;//以毫秒为单位的时间
var lastExecution=新日期((新日期()).getTime()-timeWindow);
var functionName=函数(args){
//你的密码在这里
};
返回函数(){
如果((lastExecution.getTime()+timeWindow)示例从
示例从
我是从网上的某个地方得到的;如果可能的话,我会找到并发布链接。实际上,它看起来像是一种普通的、共享的、公共领域的模式。从谷歌搜索中可以看到很多基本相同的东西。我是从网上的某个地方得到的;如果可能的话,我会找到并发布链接。实际上,它看起来像是一种普通的、共享的、公共领域的模式从谷歌搜索中可以看到很多基本相同的东西。