Junior — Middle
Pode explicar o que é um Stream Controller em Dart e para que é utilizado?
sobes.tech IA
Resposta da IA
StreamController em Dart é uma classe que permite criar e gerir fluxos de dados (Streams). Atua como um intermediário que pode receber eventos (dados, erros, finalização) e transmiti-los aos ouvintes (assinantes) do fluxo.
O principal objetivo do StreamController é criar um fluxo ao qual se podem adicionar eventos manualmente, e outras partes do programa podem inscrever-se nesse fluxo e reagir aos dados recebidos.
Exemplo de uso:
import 'dart:async';
void main() {
final controller = StreamController<int>();
// Inscrição no fluxo
controller.stream.listen((data) {
print('Recebido: $data');
});
// Adicionar dados ao fluxo
controller.add(1);
controller.add(2);
// Fechar o controlador
controller.close();
}
Assim, o StreamController é útil para criar fluxos de eventos próprios, gerenciá-los e transmitir dados entre partes assíncronas da aplicação.