-
-
Save cleomarbrdias/5d40dace258bf9dd2e03f2e38e1b09ad to your computer and use it in GitHub Desktop.
PesquisaBloc
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class PesquisasBloc implements BlocBase { | |
//declarando meu service API | |
Api api; | |
//instanciando uma lista para armazenar meus dados | |
List<Post> posts; | |
//criando controles de saida de saida | |
final StreamController<List<Post>> _postsController = | |
StreamController<List<Post>>(); | |
Stream get outPosts => _postsController.stream; | |
//criando controles de entrada | |
final StreamController<String> _pesquisaController = | |
StreamController<String>(); | |
Sink get inPesquisa => _pesquisaController.sink; | |
PesquisasBloc() { | |
api = Api(); | |
_pesquisaController.stream.listen(_pesquisa); | |
} | |
void _pesquisa(String pesquisa) async { | |
if (pesquisa != null) { | |
_postsController.sink.add([]); | |
posts = await api.getSearch(pesquisa); | |
} else { | |
posts += await api.getSearchNext(); | |
} | |
_postsController.sink.add(posts); | |
} | |
@override | |
void dispose() { | |
print("executou o dispose na pesquisa"); | |
_postsController.close(); | |
_pesquisaController.close(); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Na função
void dispose()
, como tu está sobrescrevendo o método é necessário fazer a chamada do dispose da classe Pai. Isso é feito com umsuper.dispose()
;