repeat_after_bloc.dart 1.07 KB
import 'package:flutter/cupertino.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:flutter_easyloading/flutter_easyloading.dart';
import 'package:wow_english/common/request/dao/listen_dao.dart';
import 'package:wow_english/common/request/exception.dart';
import 'package:wow_english/models/follow_read_entity.dart';
import 'package:wow_english/utils/loading.dart';

part 'repeat_after_event.dart';
part 'repeat_after_state.dart';

class RepeatAfterBloc extends Bloc<RepeatAfterEvent, RepeatAfterState> {

  List<FollowReadEntity?> _listData = [];
  List<FollowReadEntity?> get listData => _listData;

  RepeatAfterBloc() : super(RepeatAfterInitial()) {
    on<RequestDataEvent>(_requestData);
  }


  void _requestData(RequestDataEvent event, Emitter<RepeatAfterState> emitter) async {
    try {
      await loading(() async {
        _listData = await ListenDao.followRead()??[];
        emitter(RequestDataState());
      });
    } catch (e) {
      if (e is ApiException) {
        EasyLoading.showToast(e.message??'请求失败,请检查网络连接');
      }
    }
  }
}