0
JSON을 구문 분석하고 디코딩 할 때 고유 솔루션을 사용하는 작은 함수가 있습니다. 처리 오류를 제외한 모든 것이 잘 작동합니다. 보류 약속이 해제 아무것도 충돌하지만 오류 을 얻고있다 - 나는 오류가 발생하면 오류가 발생하는 경우, 내가 오류 및 메시지신속한 표준 네트워킹으로 PromiseKit으로 거부 처리?
func fetchCardDetails(withNumber number: Int) -> Promise<CardDetails> {
guard let URL = URL(string: "\(URLProvider.url)/\(APIKeyProvider.apiKey)/\(number)/") else {
fatalError("Could not reformat string to URL!")
}
var request = URLRequest(url: URL)
request.httpMethod = "GET"
let decoder = JSONDecoder()
let session = URLSession.shared
return Promise { fullfill, reject in
let dataTask = session.dataTask(with: request) { data, response, error in
if let data = data,
let json = (try? decoder.decode(CardDetails.self, from: data)) {
fullfill(json)
} else if let error = error {
reject(error)
} else if let response = response {
print(response)
} else if data != nil {
let data = NSError()
reject(data)
} else {
reject(PMKError.invalidCallingConvention)
}
}
dataTask.resume()
}
}
func fetchCardDetails(number: Int) {
_ = cardDetailsService.fetchCardDetails(withNumber: number).then { cardDetails -> Void in
//some actions with cardDetails
}
}
와 JSON을 얻을 것을 알고있다! 일반적으로 버그입니다. 자주하는 질문. PromiseKit에서 나에게 도움이되지 못했습니다.
오류가있는 JSON을 디코딩하고 전체를 변경해야합니까 폐쇄가 필요합니까?