日安,我的代码如下所示:
class FavoriteBloc extends Bloc<FavoriteEvent, FavoriteState> {
final SaveMovie saveMovie;
final GetFavoriteMovies getFavoriteMovies;
final DeleteFavoriteMovie deleteFavoriteMovie;
final CheckIfFavoriteMovie checkIfFavoriteMovie;
FavoriteBloc({
required this.saveMovie,
required this.getFavoriteMovies,
required this.deleteFavoriteMovie,
required this.checkIfFavoriteMovie,
}) : super(FavoriteInitial());
@override
Stream<FavoriteState> mapEventToState(
FavoriteEvent event,
) async* {
if (event is ToggleFavoriteMovieEvent) {
if (event.isFavorite) {
await deleteFavoriteMovie(MovieParams(event.movieEntity.id));
} else {
await saveMovie(event.movieEntity);
}
final response =
await checkIfFavoriteMovie(MovieParams(event.movieEntity.id));
yield response.fold(
(l) => FavoriteMoviesError(),
(r) => IsFavoriteMovie(r),
);
} else if (event is LoadFavoriteMovieEvent) {
yield* _fetchLoadFavoriteMovies();
} else if (event is DeleteFavoriteMovieEvent) {
await deleteFavoriteMovie(MovieParams(event.movieId));
yield* _fetchLoadFavoriteMovies();
} else if (event is CheckIfFavoriteMovieEvent) {
final response = await checkIfFavoriteMovie(MovieParams(event.movieId));
yield response.fold(
(l) => FavoriteMoviesError(),
(r) => IsFavoriteMovie(r),
);
}
}
Stream<FavoriteState> _fetchLoadFavoriteMovies() async* {
final Either<AppError, List<MovieEntity>> response =
await getFavoriteMovies(NoParams());
yield response.fold(
(l) => FavoriteMoviesError(),
(r) => FavoriteMoviesLoaded(r),
);
}
}
我收到了这个错误: Unhandled Exception: Bad state: add(CheckIfFavoriteMovieEvent) was called without a registered event handler. Make sure to register a handler via on((event, emit) {...})个
如果你能帮助我解决我写的这个错误,我将不胜感激.非常感谢现在帮助我们的每一个人
我用了很多人工智能工具来解决这个问题,但它没有给我想要的解决方案.