Why does flutter dio interceptor not invoking the method? Why does flutter dio interceptor not invoking the method? dart dart

Why does flutter dio interceptor not invoking the method?


I think the problem is in your Interceptor:

dio.interceptors.add(InterceptorsWrapper(onError: (error) async {    print(error.response);    if (error.response?.statusCode == 403 ||     error.response?.statusCode == 401) {    await refreshToken(jwt);    _retry(error.request, dio);     }    return error.response;  }));

You're calling retry method, but:

  • you don't wait for result;
  • you return an error anyway.

Try to add return before _retry instead:

dio.interceptors.add(InterceptorsWrapper(onError: (error) async {    print(error.response);    if (error.response?.statusCode == 403 ||     error.response?.statusCode == 401) {    await refreshToken(jwt);    return _retry(error.request, dio);     }    return error.response;  }));