Skip to content

Instantly share code, notes, and snippets.

@soonsam123
Created September 22, 2019 18:06
Show Gist options
  • Save soonsam123/471b16bd5e96718955798a853256177d to your computer and use it in GitHub Desktop.
Save soonsam123/471b16bd5e96718955798a853256177d to your computer and use it in GitHub Desktop.
import 'package:bloc/bloc.dart';
import 'package:meta/meta.dart';
import 'package:bloc_pattern/bloc/users.dart';
import 'package:bloc_pattern/repositories/repositories.dart';
import 'package:bloc_pattern/models/models.dart';
class UsersBloc extends Bloc<UsersEvent, UsersState> {
final UsersRepository usersRepository;
UsersBloc({@required this.usersRepository}) : assert(usersRepository != null);
@override
UsersState get initialState => InitialUsersState();
@override
Stream<UsersState> mapEventToState(UsersEvent event) async* {
if (event is FetchUsers) {
yield UsersLoading();
try {
final List<User> users = await usersRepository.getUsers();
yield UsersLoaded(users: users);
} catch (e) {
print(e);
yield UsersError();
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment