本文整理匯總了TypeScript中src/util.throttle函數的典型用法代碼示例。如果您正苦於以下問題:TypeScript throttle函數的具體用法?TypeScript throttle怎麽用?TypeScript throttle使用的例子?那麽, 這裏精選的函數代碼示例或許可以為您提供幫助。
在下文中一共展示了throttle函數的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。
示例1: setTimeout
if (runCount < 4) {
handle = setTimeout(run, 5);
}
}
run();
}
},
throttle: {
'preserves context'(this: any) {
const dfd = this.async(TIMEOUT);
// FIXME
var foo = {
bar: util.throttle(dfd.callback(function(this: any) {
assert.strictEqual(this, foo, 'Function should be executed with correct context');
}), 0)
};
foo.bar();
},
'receives arguments'(this: any) {
const dfd = this.async(TIMEOUT);
const testArg1 = 5;
const testArg2 = 'a';
const throttledFunction = util.throttle(dfd.callback(function (a: number, b: string) {
assert.strictEqual(a, testArg1, 'Function should receive correct arguments');
assert.strictEqual(b, testArg2, 'Function should receive correct arguments');
}), 0);
示例2: setTimeout
}, 100);
setTimeout(function () {
debouncedFunction();
}, 200);
setTimeout(dfd.callback(function () {
assert.strictEqual(spy.callCount, 3);
}), 300);
}
},
throttle: {
'throttles callback'() {
const spy = sinon.spy();
const throttledFunction = util.throttle(spy, 100);
throttledFunction();
assert.strictEqual(spy.callCount, 1,
'Function should be called as soon as it is first invoked');
setTimeout(function () {
throttledFunction();
throttledFunction();
throttledFunction();
}, 80);
setTimeout(this.async().callback(function () {
assert.strictEqual(spy.callCount, 1,
'Further calls within same interval should be suppressed');
}), 150);