flutter 如何在拦截器中显示警报对话框

chhkpiq4  于 2023-06-24  发布在  Flutter
关注(0)|答案(1)|浏览(162)

我使用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;
  }
}
uyhoqukh

uyhoqukh1#

没有拦截器不是为了这个目的,你不需要他们显示对话框或弹出当你得到40x500响应。您可以通过flutter_bloc为这些响应用例发送不同的状态,并在UI代码部分的BlocListener中调用 showAlertDialog。这是最好的做法。

相关问题