Ошибка в событии Progress нужна, если канал передаёт и промежуточные состояния, и терминальный результат. Если результат возвращается отдельно, это может быть лишним.
Зачем ошибка в Progress?
Ошибка в событии Progress нужна, если канал передаёт и промежуточные состояния, и терминальный результат. Если результат возвращается отдельно, это может быть лишним.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Ошибка в событии Progress нужна, если канал передаёт и промежуточные состояния, и терминальный результат. Если результат возвращается отдельно, это может быть лишним.
Определите контракт: может ли прогресс содержать нефатальное предупреждение, означает ли error окончание и кто закрывает канал. Дублирование одной ошибки в return и в канале создаёт неоднозначность. Без объявления Progress нельзя судить о конкретном поле, но полезный интерфейс должен позволять однозначно отличить успех, отмену и неудачу.