Чем async*, yield и yield* отличается от StreamController?
Что хотят услышать интервьюеры:
Отличие от StreamController: async*, yield и yield* обычно используют, когда нужна задача из контекста «Generators», а StreamController применяют в другом уровне абстракции или при другой сложности.
Ответ:
Как выбирать:
- удобно для последовательных состояний loading/data
- ошибки можно отдавать через stream
- оцените стоимость поддержки, тестируемость и понятность для команды
Ошибка: выбирать инструмент по привычке, а не по требованиям конкретного flow. Сильный ответ: приведите пример, когда async*, yield и yield* уместен, и пример, когда лучше выбрать StreamController.