Sobes.tech
Back to questions
Junior — Middle
143

Можете объяснить, что такое Stream Controller в Dart и для чего он используется?

Companies where asked
Pashapay

Answer from AI

sobes.tech AI

StreamController в Dart — это класс, который позволяет создавать и управлять потоками данных (Streams). Он выступает как посредник, который может принимать события (данные, ошибки, завершение) и транслировать их слушателям (подписчикам) потока.

Основное назначение StreamController — создавать поток, в который можно вручную добавлять события, а другие части программы могут подписываться на этот поток и реагировать на поступающие данные.

Пример использования:

import 'dart:async';

void main() {
  final controller = StreamController<int>();

  // Подписка на поток
  controller.stream.listen((data) {
    print('Получено: $data');
  });

  // Добавление данных в поток
  controller.add(1);
  controller.add(2);

  // Закрытие контроллера
  controller.close();
}

Таким образом, StreamController полезен для создания собственных потоков событий, управления ими и передачи данных между асинхронными частями приложения.