it should be something like that in your bloc class
class ProductsBloc extends Bloc<ProductsEvent, ProductsState> {
final GetMoreProducts moreProductsUsecase;
final GetProducts getProductsUsecase;
ProductsBloc({
required this.moreProductsUsecase,
required this.getProductsUsecase,
}) : super(ProductsInitial()) {
on<GetProductsEvent>(_onGetProducts);
}
and the function call can be like this
_onGetProducts(GetProductsEvent event, Emitter<ProductsState> emit) async {
emit(LoadingProductsState());
var result = await getProductsUsecase();
result.fold(
(l) => emit(LoadFailedState()),
(r) => { emit(ProductsLoadedState(products: products, isReachedMax: false)),
});
}