我想执行多个 Alamofire 请求。但是,由于数据依赖性,新请求应仅在前一个请求完成时开始。
我已经用更一般的异步请求示例提出了一个问题,该示例使用OperationQueue. 但是,我没有成功地使用 Alamofire 实现相同的目标。
public func performAlamofireRequest(_ number: Int, success: @escaping (Int) -> Void)->Void {
Alamofire.request(String(format: "http://jsonplaceholder.typicode.com/posts/%i", number+1)) // NSURLSession dispatch queue
.responseString { response in // Completion handler at main dispatch queue?
if response.result.isSuccess {
// print("data")
} else if response.result.isFailure {
// print("error")
}
success(number) // Always leave closure in this example
}
}
Run Code Online (Sandbox Code Playgroud)
为了确保在下一个请求开始之前完成请求,我使用OperationQueue如下:
let operationQueue = OperationQueue.main
for operationNumber in 0..<4 { // Create some operations
let …Run Code Online (Sandbox Code Playgroud)