Типичная цепочка: нормализация, debounceTime, distinctUntilChanged и switchMap к HTTP-запросу; catchError размещают внутри запроса, чтобы поиск продолжался после ошибки.
Как реализовать поиск по valueChanges поля ввода с запросом на backend: какие RxJS-операторы использовать и почему?
Типичная цепочка: нормализация, debounceTime, distinctUntilChanged и switchMap к HTTP-запросу; catchError размещают внутри запроса, чтобы поиск продолжался после ошибки.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Типичная цепочка: нормализация, debounceTime, distinctUntilChanged и switchMap к HTTP-запросу; catchError размещают внутри запроса, чтобы поиск продолжался после ошибки.
Пустую строку обрабатывайте явно, возвращая пустой результат или дефолтный список, а не просто отбрасывая её filter. SwitchMap отписывает прежний inner Observable при новом значении; HTTP-клиент должен поддерживать отмену. Для немедленной отмены уже при вводе, до debounce, перестройте границу switchMap или дополнительно проверяйте актуальность запроса. Подписку очищают по lifecycle.
Источник: rxjs.dev.