Что нужно знать про StreamController во Flutter/Dart?

FlutterMiddle: уверенно применяет в рабочем проекте, видит риски и тестируемостьAsyncТеорияasyncdartstream-controllerstreamcontroller

Что хотят услышать интервьюеры:

Коротко: StreamController вручную создает поток и позволяет отправлять события через sink, но требует контроля жизненного цикла.

Ответ:

Где применяется:

  • нужно закрывать close()
  • broadcast меняет поведение подписчиков
  • лучше не раскрывать sink наружу

Пример:

final controller = StreamController<int>();
controller.add(1);
await controller.close();

Как отвечать на собеседовании: объясните назначение, границы применения и почему это лучше альтернативы в конкретном сценарии. Типичная ошибка: отдавать controller.sink всем слоям.

Источники

Похожие вопросы