onError method

  1. @override
void onError(
  1. AdapterException error,
  2. ErrorInterceptorHandler handler
)
override

错误拦截

在发生错误时调用,可以修改错误或返回响应

error 错误对象 handler 拦截器处理器

Implementation

@override
void onError(AdapterException error, ErrorInterceptorHandler handler) {
  final shouldRefresh = isUnauthorized != null
      ? isUnauthorized!(error, error.response?.request ?? _emptyRequest)
      : error.statusCode == 401;

  if (!shouldRefresh) {
    handler.next(error);
    return;
  }

  _handleTokenRefresh(error, handler).catchError((e) {
    onTokenRefreshFailed?.call(e);
  });
}