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.