Sobes.tech
Junior — Middle

Como interromper uma requisição HTTP feita com a biblioteca Dio?

sobes.tech IA

Resposta da IA

Na biblioteca Dio para Flutter, pode cancelar uma requisição HTTP usando o objeto CancelToken.

Exemplo:

import 'package:dio/dio.dart';

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

// Iniciar requisição
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('Requisição cancelada');
    } else {
      print('Erro: $e');
    }
  }
}

// Cancelar requisição
void cancelRequest() {
  cancelToken.cancel('O utilizador cancelou a requisição');
}

Desta forma, a chamada a cancelToken.cancel() interromperá a execução da requisição.