2

我正在尝试发送数千个 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
    }
}
4

1 回答 1

1

您可以进行简单的递归,如下所示。

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)
于 2018-09-23T05:21:24.487 回答