Junior — Middle
Vai jūs varat izskaidrot, kas ir Stream Controller Dart un kāpēc tas tiek izmantots?
sobes.tech AI
Atbilde no AI
Dart valodā StreamController ir klase, kas ļauj izveidot un pārvaldīt datu plūsmas (Streams). Tas darbojas kā starpnieks, kas var pieņemt notikumus (datus, kļūdas, noslēgšanu) un nodot tos plūsmas klausītājiem (abonentiem).
Galvenais StreamController mērķis ir izveidot plūsmu, kurā var manuāli pievienot notikumus, un citas programmas daļas var abonēt šo plūsmu un reaģēt uz ienākošajiem datiem.
Piemērs lietošanai:
import 'dart:async';
void main() {
final controller = StreamController<int>();
// Abonēšana plūsmā
controller.stream.listen((data) {
print('Saņemts: $data');
});
// Datu pievienošana plūsmā
controller.add(1);
controller.add(2);
// Kontroliera aizvēršana
controller.close();
}
Tādējādi, StreamController ir noderīgs, lai izveidotu savus notikumu plūsmas, pārvaldītu tās un nodotu datus starp asinhronajām programmas daļām.