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() прервет выполнение запроса.