Junior — Middle
Мо метавонед шарҳ диҳед, ки Stream Controller дар Dart чист ва барои чӣ истифода мешавад?
sobes.tech AI
Ҷавоб аз AI
StreamController дартда — маълумотлар ағзини (Streams) яратиш ва бошқаришга имкон берувчи синфдир. У ҳодисаларни (маълумотлар, хатолар, якунлаш) қабул қила олади ва уларни ағзнинг тингловчиларига (обуначиларга) узатади.
StreamControllerнинг асосий мақсади — қўл билан ҳодисалар қўшиш мумкин бўлган ағзни яратиш, ва дастурнинг бошқа қисмлари ушбу ағзга обуна бўлиб, келаётган маълумотларга жавоб қайтариши мумкин.
Ишлатиш мисоли:
import 'dart:async';
void main() {
final controller = StreamController<int>();
// Ағзга обуна бўлиш
controller.stream.listen((data) {
print('Қабул қилинди: $data');
});
// Маълумотларни ағзга қўшиш
controller.add(1);
controller.add(2);
// Контроллерни ёпиш
controller.close();
}
Шу тариқа, StreamController ўзининг ҳодиса ағзларини яратиш, уларни бошқариш ва дастурнинг асинхрон қисмлари орасида маълумотларни ўтказиш учун фойдали.