1
私はSwiftと一緒にJWTトークンとAlamofireで作業しています。私の問題は、リクエストがnilを返すときに、私はrequestTestメソッドがrefreshToken()メソッドを実行し、HTTPリクエストを再試行することです。私のコードはこのように見えます。私は自分自身を実行しようとしましたが、成功しませんでした。 :(補完ハンドラ内の補完ハンドラ?
// Internal method used for the HTTP methods
private func request<A>(resource: Resource<A>, method: Alamofire.HTTPMethod, parameters: [String:String], completion: @escaping (A?) ->()) {
let requestUrl = self.baseurl.absoluteString + resource.url.absoluteString + "?token=" + self.loginManager.getFromKeychain().token!
Alamofire.request(requestUrl, method: method, parameters: parameters).response { response in
// Check if response need reauth
if(response.response?.statusCode == 401 || response.response?.statusCode == 400) {
self.refreshToken(completion: { result in
if(result) {
print("Token got refreshed")
// How do i make the request again?
}
})
}
guard let data = response.data else {
completion(nil)
return
}
completion(resource.parse(data as NSData))
}
}
あなたはあなたの主なメソッドの完了ハンドラに多くのパラメータを追加することができ呼ばもう一度リクエストを作成しますあなたの401のステータスコード – guiltance
私に例を教えてもらえますか? –