delegate.taskWillPerformHTTPRedirection = { session, task, response, request in
var finalRequest = request
if let originalRequest = task.originalRequest, let urlString = originalRequest.url{
finalRequest = originalRequest
}
let parameters = [
"X-CSRF-Token": "unsafe",
"xs-username": UserDefaultService().username,
"xs-password": UserDefaultService().password
]
self.isRefreshing = true
manager.request(APIPath.login.path, method: .post, parameters: parameters).validate().responseJSON { (response) in
switch response.result {
case .success(let value):
break
case .failure(let error):
break
}
}
return finalRequest
}
我正在使用taskWillPerformHTTPRedirection
来HTTP
处理Alamofire
请求重定向。
当重定向被触发时,它将刷新登录令牌,然后再次使用原始请求。
但问题是最终请求不会等待刷新完成。
因此,服务器仍将重定向新请求,并且在刷新完成之前会多次触发delegate
。
如何让return等待completionHandler?这种情况有更好的解决方案吗?