Если подписаться на form.valueChanges и внутри обработчика вызвать patchValue для контрола этой же формы, что произойдёт и как избежать бесконечного цикла?

patchValue по умолчанию испускает события, поэтому изменение формы внутри её valueChanges может повторно вызвать тот же обработчик.

Короткий ответ

Что ответить на собеседовании

patchValue по умолчанию испускает события, поэтому изменение формы внутри её valueChanges может повторно вызвать тот же обработчик.

Подробный разбор

Ответ с пояснениями

patchValue по умолчанию испускает события, поэтому изменение формы внутри её valueChanges может повторно вызвать тот же обработчик.

Для служебного обновления используют control.patchValue(value, { emitEvent:false }) и при необходимости проверяют реальное изменение значения. Подавление события должно быть осознанным: другие подписчики его тоже не получат. Уничтожение компонента должно освобождать подписку.

Источник: angular.dev.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее