Если канал уже передаёт весь нужный прогресс, дополнительный callback обычно не нужен. Он оправдан только для отдельного контракта или удобного адаптера.
Нужен ли callback, если используется канал прогресса?
Если канал уже передаёт весь нужный прогресс, дополнительный callback обычно не нужен. Он оправдан только для отдельного контракта или удобного адаптера.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Если канал уже передаёт весь нужный прогресс, дополнительный callback обычно не нужен. Он оправдан только для отдельного контракта или удобного адаптера.
Два независимых механизма уведомления усложняют порядок событий, обработку ошибок и завершение. Выберите одного владельца закрытия канала и определите поведение при медленном потребителе и отмене. Callback проще для синхронного вызова, канал удобен для select и нескольких источников. Окончательный результат и ошибку не обязательно смешивать с промежуточным прогрессом.