Flutter: как обработать "Нет Inte rnet Connection" с помощью "DioErrorType" - PullRequest
0 голосов
/ 17 июня 2020

Могу ли я обработать условие No Internet Connection, используя DioErrorType? Тестовый пример - когда я turn off the wifi and mobile data.

Это мой код:

try {
      yield MoviesLoading();
      var movies = await repository.getNowPlaying(ApiConstant.apiKey, ApiConstant.language);
      if (movies.results.isEmpty) {
        yield MoviesNoData(AppConstant.noData);
      } else {
        yield MoviesHasData(movies);
      }
    } on DioError catch (e) {
      if (e.type == DioErrorType.CONNECT_TIMEOUT || e.type == DioErrorType.RECEIVE_TIMEOUT) {
        yield MoviesNoInternetConnection(AppConstant.noInternetConnection);
      } else {
        yield MoviesError(e.toString());
      }
    }

e.type == DioErrorType.CONNECT_TIMEOUT || e.type == DioErrorType.RECEIVE_TIMEOUT для дескриптора Timeout, yield MoviesError(e.toString()) для дескриптора Error из Dio. Итак, как обрабатывать условие No Internet Connection с помощью DioErrorType?

Не рекомендуйте мне использовать пакет подключения, потому что он только для проверки статуса (он подключен к Wi-Fi или мобильным данным), а не проверять соединение rnet

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...