Зачем нужно время отката? - PullRequest
1 голос
/ 09 июля 2019

Я реализую функцию поиска в таблице данных в моем приложении.Для этого я нашел учебник, в котором я могу добавить debounceTime, чтобы поиск не происходил мгновенно (в моем примере 150 миллисекунд).

Какова цель этого?

Причина, по которой я спрашиваю, состоит в том, что когда я изменяю время отката с 150 миллисекунд на 0, поиск кажется намного более плавным и «более приятным».

Я думаю, это лучше для времени выполнения или серверов?Это незначительный вопрос, но все же пробудил мое любопытство к лучшему пониманию кодирования в целом и в моем случае Angular.

    fromEvent(this.filter.nativeElement, 'keyup')
        .pipe(
            takeUntil(this._unsubscribeAll),
            debounceTime(150),
            distinctUntilChanged(),
        )
        .subscribe(() => {
            if (!this.dataSource )
            {
                return;
            }
            this.dataSource.filter = this.filter.nativeElement.value;
        });
}

1 Ответ

4 голосов
/ 09 июля 2019

Время отката необходимо в основном для поисковых входов, где поиск выполняется автоматически.Вы не хотите, чтобы поиск запускался после каждой вводимой буквы, только когда вы закончите печатать.Функция debounce будет работать только в том случае, если с момента первого вызова этой функции прошло x раз, когда функция снова будет вызываться.

a Время отладки в 300 мсек сделает свое дело.

ВыВы также можете прочитать о газе и разнице между дебатом и газом здесь: газ против дебаза

...