Junior — Middle
El tudná magyarázni, mi az a Stream Controller Dartban, és mire használják?
sobes.tech MI
Válasz az MI-től
A Dartban a StreamController egy olyan osztály, amely lehetővé teszi adatfolyamok (Streams) létrehozását és kezelését. Szerepe, hogy közvetítőként működjön, amely képes eseményeket (adatokat, hibákat, befejezést) fogadni és továbbítani a folyam hallgatóinak (feliratkozóinak).
A StreamController fő célja, hogy létrehozzon egy olyan adatfolyamot, amelyhez manuálisan lehet eseményeket hozzáadni, és más részek a programnak feliratkozhatnak erre a folyamra, és reagálhatnak a beérkező adatokra.
Használati példa:
import 'dart:async';
void main() {
final controller = StreamController<int>();
// Feliratkozás a folyamra
controller.stream.listen((data) {
print('Kaptunk: $data');
});
// Adatok hozzáadása a folyamhoz
controller.add(1);
controller.add(2);
// A vezérlő bezárása
controller.close();
}
Így a StreamController hasznos saját eseményfolyamok létrehozására, kezelésére és az adatok továbbítására az alkalmazás aszinkron részei között.