如何同步闭包?
我有这个代码:
private func getWeather(parameters: [String : Any], failure: ((String) -> Void)? = nil ,completion: (() -> Void)? = nil) {
for _ in 0...10 {
RequestManager.sharedInstance.request(url: baseURL, parameters: parameters, completion: { (result) in
if JSON.parse(result)["name"].string == nil {
failure?("Something went wrong. Please, try again later")
} else {
let weatherModel: WeatherModel = WeatherModel(json: JSON.parse(result))
}
})
}
completion?()
}
Run Code Online (Sandbox Code Playgroud)
在我的代码中,完成?()将调用,而不是当所有请求都将结束时我需要调用完成?()当所有请求都将结束时.我可以这样做吗?