Sobes.tech
Junior — Middle

Môžete vysvetliť, čo je Stream Controller v Dart a na čo sa používa?

sobes.tech AI

Odpoveď od AI

StreamController v Dart je trieda, ktorá umožňuje vytvárať a spravovať dátové prúdy (Streams). Funguje ako sprostredkovateľ, ktorý môže prijímať udalosti (dáta, chyby, ukončenie) a prenášať ich poslucháčom (odberateľom) prúdu.

Hlavným účelom StreamController je vytvoriť prúd, do ktorého je možné manuálne pridávať udalosti, a ďalšie časti programu sa na tento prúd môžu prihlásiť a reagovať na prichádzajúce dáta.

Príklad použitia:

import 'dart:async';

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

  // Prihlásenie na prúd
  controller.stream.listen((data) {
    print('Prijaté: $data');
  });

  // Pridanie dát do prúdu
  controller.add(1);
  controller.add(2);

  // Zatvorenie kontroléra
  controller.close();
}

Týmto je StreamController užitočný na vytváranie vlastných udalostných prúdov, ich správu a prenos dát medzi asynchrónnymi časťami aplikácie.