Sobes.tech
Back to questions
Junior — Middle
103

Каким образом можно прервать выполнение HTTP-запроса, выполненного с помощью библиотеки Dio?

Companies where asked
ICL

Answer from AI

sobes.tech AI

В библиотеке Dio для Flutter можно прервать HTTP-запрос с помощью объекта CancelToken.

Пример:

import 'package:dio/dio.dart';

final dio = Dio();
final cancelToken = CancelToken();

// Запуск запроса
void fetchData() async {
  try {
    final response = await dio.get(
      'https://example.com/data',
      cancelToken: cancelToken,
    );
    print(response.data);
  } catch (e) {
    if (CancelToken.isCancel(e)) {
      print('Запрос отменён');
    } else {
      print('Ошибка: $e');
    }
  }
}

// Отмена запроса
void cancelRequest() {
  cancelToken.cancel('Пользователь отменил запрос');
}

Таким образом, вызов cancelToken.cancel() прервет выполнение запроса.