2 개의 API 끝점이 있습니다. 후자는 첫 번째 결과에 달려있다.Swift 및 PromiseKit으로 Alamofire 요청 연결
제 1 단부 지점에 대한 시장 JSON을 2 번째 종점 /api/v1/mayor/<id>/
그래서
{
region_id: 1,
mayor_id: 9
},
{
region_id: 1,
mayor_id: 10
},
JSON 유사 영역들의 목록을 반환 /api/v1/regions/
이다. 지금 내 워크 플로는 모든 지역을 가져 오는 첫 번째 API 호출을 작성한 다음 첫 번째 끝점에서 가져온 ID를 기반으로 /mayor/
끝점에 대한 API 호출을 만들고 싶습니다. 그래서 예, 나는이 개 더 많은 통화를하고 싶습니다 :
/api/v1/mayor/9/
/api/v1/mayor/10/
을 이미 각각의 API 호출을 만들기 위해이 개 기능을 설정하고 성공적으로 다시 각각에 대한 JSON을 가지고있다.
func fetchRegions() -> Promise<[Region]> {
}
func fetchMayor(id: String) -> Promise<Mayor> {
}
이제이 모든 것을 어떻게 연결할 수 있는지보고 싶습니다. 이것은 내가 지금까지 가지고있는 것입니다 :
var fetchedRegions: [Region] = []
firstly {
fetchRegions()
}.then { regions in
fetchedRegions = regions
}.then {
for r in fetchedRegions {
self.fetchMayor(id: r.mayor_id).then { mayor in
print(mayor)
}.catch { error in
}
}
}.catch { error in // Error: Missing return in a closure expected to return 'AnyPromise'
print(error)
}