Angular · Middle · Запитання 20 з 75
Чому в довгоживучому потоці catchError треба ставити всередині switchMap?
this.query$.pipe(
switchMap((q) => this.api.search(q).pipe(catchError(() => of([])))),
);- ✓Правильна відповідь: Помилка завершує потік, до якого дійшла; перехоплення на внутрішньому Observable зберігає зовнішній потік пошуку живим
- 2
catchErrorпрацює лише всерединіswitchMap - 3Так запит автоматично повторюється
Пояснення
Якщо помилка дійде до зовнішнього потоку, він завершиться, і поле пошуку перестане працювати після першого збою. Обробляйте помилки для кожного запиту й повертайте значення за замовчуванням.