我使用Dio从API获取/发布一些信息。我想要的是,任何时候我调用一个API,它返回一个错误(401,403,404,500等),我希望弹出一个警报,并通知用户错误的细节。我添加了必要的拦截器来拦截错误并获取需要显示的信息,但是我找不到显示警报的方法。
class HttpCustomClient {
static Dio configureDio() {
final dio = Dio();
dio.options.baseUrl = AppConsts.baseUrl;
dio.interceptors.add(InterceptorsWrapper(onError: ((exception, handler) {
var errorText = exception.response!.data['error'];
//Insert code here to show an alert with errorText
return handler.next(exception);
})));
return dio;
}
}
1条答案
按热度按时间uyhoqukh1#
没有拦截器不是为了这个目的,你不需要他们显示对话框或弹出当你得到40x或500响应。您可以通过flutter_bloc为这些响应用例发送不同的状态,并在UI代码部分的BlocListener中调用 showAlertDialog。这是最好的做法。