Sobes.tech
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.