Skip to content

防抖装饰器

防抖装饰器用于为方法添加防抖功能,以减少频繁调用方法的次数。

注意

此装饰器仅适用于类的 方法 上。

示例

typescript
class MyClass {
    @DebounceTime(500)
    myMethod(): void {
        console.log(`log: ${+new Date()}`);
    }
}

参数

参数名类型默认值描述
timernumber300防抖时间间隔,单位为毫秒。

用法

防抖装饰器可以应用于任何类的方法,通过设置 timer 参数来控制防抖的时间间隔。当方法被频繁调用时,只有在最后一次调用后经过指定的时间间隔才会真正执行方法。

示例代码

html
<button (click)="outputLog()">output log</button>
ts
import { Component } from '@angular/core';
import { DebounceTime } from '@sleeko/utils/decorators';

@Component({
    selector: 'app-debounce-time',
    templateUrl: './debounce-time.component.html',
    styleUrls: ['./debounce-time.component.scss'],
})
export class DebounceTimeComponent {
    @DebounceTime()
    outputLog() {
        console.log(`当前时间戳:${+new Date()}`);
    }
}