#103 — поиск для meows

Igor Kravchenko
It_challenge
Published in
1 min readApr 30, 2019

Сделал разделение логики/bloc для экранов поиска.

Узнал, как правильно делать различную обработку для разных типов событий:

@override
Stream<SearchState> transform(
Stream<SearchEvent> events,
Stream<SearchState> Function(SearchEvent event) next,
) {
final observableStream = events as Observable<SearchEvent>;
final nonDebounceStream = observableStream.where((event) {
return (event is! LoadSearchEvent);
});
final debounceStream = observableStream.where((event) {
return (event is LoadSearchEvent);
}).debounce(Duration(milliseconds: 1000));
return super.transform(nonDebounceStream.mergeWith([debounceStream]), next);
}

Подписка в телеграмм: https://t.me/It_challenge

30.04.2019

--

--