Dio 4.0.6版本
使用QueuedInterceptorsWrapper问题
freshToken过期重新登录后
无法在继续监听到onError
dio.interceptors.add(QueuedInterceptorsWrapper(onRequest: (options, handler) {
return handler.next(options);
}, onResponse: (response, handler) {
return handler.next(response);
}, onError: (error, handler) async {
if (error.response?.statusCode == 401) {
var newToken = await ApiBaseHelper.refreshToken(ref);
var options = error.response!.requestOptions;
options.headers["Authorization"] = 'Basic ${base64.encode(utf8.encode('$newToken:'))}';
dio.fetch(options).then(
(r) => handler.resolve(r),
onError: (e) {
handler.reject(e);
},
);
return;
} else {
return handler.next(error);
}
}));