处理快速连续的函数调用 - Javascript / underscore.js / node.js
Handling quick succession of function calls - Javascript / underscore.js / node.js
我正在寻找一种方法来调用不同的函数,如果它被快速连续调用。不过,第一个电话需要尽快通过。
到目前为止,我已经尝试了 Underscore 的_.throttle
和_.debounce
.js来处理这个问题,这几乎是我正在寻找的,但不完全是。我可以用这些延迟原始函数调用,但我想在一次发生多个调用时调用一个完全不同的函数调用。
这可能还是
例:
var _ = require("underscore")._;
function foo(){
console.log("foo");
}
function bar(){
console.log("bar");
}
var delayedFoo = _.throttle(foo, 1000);
相反,节流我希望在指定的持续时间内调用一次foo((,然后在指定的持续时间内调用bar((,然后才能再次调用foo((:
var delayedFoo = _.route(foo, bar, 1000);
有没有具有这样的内置函数的库或框架?
有没有具有这样的内置函数的库或框架?
我不知道,但自己编程应该是微不足道的:
function route(hard, weak, period) {
var isThrottled = false;
return function() {
if (isThrottled) {
return weak.apply(this, arguments);
} else {
isThrottled = true;
setTimeout(function() {
isThrottled = false;
}, period);
return hard.apply(this, arguments);
}
};
}
相关文章:
- node.js/javascript/couchdb视图到关联数组似乎不起作用
- LeadLander formalyze_init.js Javascript外部文件
- 关于node.js/javascript在文件之间共享变量
- Node.js - Javascript - 将文件解析为嵌套对象
- three.js javascript/raycasting代码与retina显示器Mac不兼容
- 节点中的变量.js JavaScript 不会改变
- 如何使用并行/多线程Hamsters.js Javascript库编辑数组中的对象属性
- 使用processing.js/javascript在dropbox中写入txt文件
- Node.js/Javascript库来测试点是否在geojson多极子中
- Intellij IDEA riot.js javascript风格支持
- enquire.js javascript没有't执行(enquire.js,Modernizr,jQuery)
- 需要相当于three.js javascript'loadTexture'陈述
- 如何创建一个考虑时区Node.JS/javascript的JS日期对象
- Three.js Javascript对象转换问题
- Kinetic.js / Javascript:在不使用 eval() 的情况下调用变量作为属性
- 如何使用 Angular.js/javascript 将 JSON 数组值替换为新值
- 存储来自多个回调节点的数据.js javascript
- Node.JS/Javascript - 将字符串转换为整数正在返回 NaN,而我不希望它这样做
- moment.js javascript dat object
- jquery.validate 中的错误.js“javaScript 运行时错误:无法获取未定义或空引用的属性'