Угловой запрос HttpClient с debounceTime не ожидает dueTime - PullRequest
0 голосов
/ 24 сентября 2018

Я пытаюсь реализовать debounceTime для http-запроса, который происходит, когда пользователь фильтрует столбец таблицы:

this.myService.getData()
  .pipe(debounceTime(1000), distinctUntilChanged())
  .subscribe((res) => {
    // Do work
  });

Но он не ожидает dueTime 1000 мс.

Я, должно быть, сделал ошибку, потому что она ведет себя точно так же, когда я удаляю все трубы, но где?

Ответы [ 2 ]

0 голосов
/ 18 марта 2019

Если вы не можете использовать debounceTime с наблюдаемым до вызова службы (например, valueChanges), вы можете сделать это также следующим образом:

timer(1000).pipe(switchMap(() => this.service.getData(value)))
           .subscribe(values => this.values = values);
0 голосов
/ 24 сентября 2018

Странная вещь, которую вы здесь делаете :).Здесь вы говорите подождать 1 с после получения ответа на ваш асинхронный вызов.Я думаю, что это не то, что вы хотите сделать.Вы должны сделать в своем компоненте.

html:

<input [formControl]="autoCompletFormControl" type="text" />

ts:

   autoCompletFormControl = new FormControl();

   this.autoCompletFormControl.valueChanges.pipe(debounceTime(1000)).subscribe( (value) => {
         this.service.getData(value).subscribe( (value) => {
           this.values = values;
         });
   }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...