/**
* 返回一个函数,这个函数执行(等于执行 f)后的 time 毫秒时间内,再次被调用不会执行 f
* @param {()=>any} f
* @param {number} time
* @returns {()=>any}
*/
function pulseFunction(f, time) {
var able = true;
return function () {
if (able) {
able = false;
f();
setTimeout(() => {
able = true;
}, time);
}
};
}
var submit = pulseFunction(_submit,500);
submit(...args); //多个 arg 怎么传给_submit; 还是传个对象. 另外这里的 jsdoc 怎么写
1
pierswu 2019-05-14 16:14:21 +08:00
function pulseFunction(f, time) {
var able = true; return function () { if (able) { able = false; f.apply(this, arguments) setTimeout(() => { able = true; }, time); } }; } |