本文整理匯總了TypeScript中src/util.debounce函數的典型用法代碼示例。如果您正苦於以下問題:TypeScript debounce函數的具體用法?TypeScript debounce怎麽用?TypeScript debounce使用的例子?那麽, 這裏精選的函數代碼示例或許可以為您提供幫助。
在下文中一共展示了debounce函數的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。
示例1: setTimeout
const dfd = this.async(1000);
const spy = sinon.spy();
timer = util.createTimer(spy, 100);
setTimeout(dfd.callback(function () {
assert.strictEqual(spy.callCount, 1);
}), 110);
}
};
})(),
debounce: {
'debounces callback'() {
const dfd = this.async(1000);
const spy = sinon.spy();
const debouncedFunction = util.debounce(spy, 100);
debouncedFunction();
assert.strictEqual(spy.callCount, 0,
'Function should not be called until period has elapsed without further calls');
setTimeout(function () {
debouncedFunction();
}, 80);
setTimeout(function () {
debouncedFunction();
}, 160);
setTimeout(dfd.callback(function () {
assert.strictEqual(spy.callCount, 1,
示例2: setTimeout
timer = util.createTimer(spy, 100);
setTimeout(dfd.callback(function () {
assert.strictEqual(spy.callCount, 1);
}), 110);
}
};
})(),
debounce: {
'preserves context'(this: any) {
const dfd = this.async(TIMEOUT);
// FIXME
var foo = {
bar: util.debounce(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 debouncedFunction = util.debounce(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);