Должен быть стандартный способ решить эту проблему, но я еще ничего не нашел. Я, вероятно, неправильно формулирую свой поиск.
У меня есть поле ввода поиска, и, как правило, я использую оператор switchmap
для отмены предыдущих запросов http, когда пользователь продолжает вводить текст.
Я основал это на примере в документации ngxs:
this.actions$
.pipe(
ofActionDispatched(SomeAction),
debounceTime(2000),
distinctUntilChanged(),
untilDestroyed(this),
switchMap(() => {
return this.store.dispatch(new SomeOtherAction());
})
).subscribe(() => {
});
SomeAction
отправляется каждый раз, когда пользователь вводит что-то в поле ввода и сохраняет в хранилище (это почему SomeOtherAction
не имеет параметра конструктора).
Есть ли лучший способ сделать это без этого пустого блока подписки? Это выглядит как анти-шаблон.