Вы можете использовать либо .and
, либо .flatten
. Для .flatten
ваш фьючерс должен вернуть Void
, поэтому конечный результат также будет Future<Void>
.
.and
может использоваться следующим образом:
let summaryFuture = client.post(summaryURL) { post in
post.http.headers.add(name: "authtoken", value: token)
}.flatMap(to: SummaryModel.self) { (response) in
return try response.content.decode(SummaryModel.self)
}
let sponsorEnrollerFuture = client.post(sponsporEnroller) { post in
post.http.headers.add(name: "authtoken", value: token)
}.flatMap(to: SponsorEnrollerModel.self) { (response) in
return try response.content.decode(SponsorEnrollerModel.self)
}
// Now combine the two futures
return summaryFuture.and(sponsorEnrollerFuture).map { summary, sponsorEnrolled in
print("summary: \(summary)")
print("sponsorEnrolled: \(sponsorEnrolled)")
}