可以Alamofire taskWillPerformHTTPRedirection等待请求

时间:2018-02-22 08:48:03

标签: ios swift alamofire urlsession

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
}

我正在使用taskWillPerformHTTPRedirectionHTTP处理Alamofire请求重定向。

当重定向被触发时,它将刷新登录令牌,然后再次使用原始请求。

但问题是最终请求不会等待刷新完成。

因此,服务器仍将重定向新请求,并且在刷新完成之前会多次触发delegate

如何让return等待completionHandler?这种情况有更好的解决方案吗?

0 个答案:

没有答案