具有异步网络请求的 Swift 2 For 循环在响应后继续循环



我正在尝试发送数千个http请求,但由于内存问题,我的应用程序崩溃了。"由于内存问题而终止"。所以我想在继续循环发送另一个请求之前等待响应。

for i in 0 ..< 10000 {
Alamofire.request("https://httpbin.org/get", parameters: ["foo": "bar"]).responseJSON { response in
print("Finished request (i)")
// Continue the looping
}
}

您可以按如下方式执行简单的递归。

func makeRequest(for index: Int) {
guard index < 10000 else { return }
Alamofire.request("https://httpbin.org/get", parameters: ["foo": "bar"]).responseJSON { [weak self] response in
print("Finished request (index)")
self?.makeRequest(for: index + 1)
}
}

然后从零或任何索引开始

,如下所示,
self.makeRequest(for: 0)

最新更新