小编Ban*_*nck的帖子

如何同步闭包?

如何同步闭包?

我有这个代码:

    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)

在我的代码中,完成?()将调用,而不是当所有请求都将结束时我需要调用完成?()当所有请求都将结束时.我可以这样做吗?

ios swift swift3

2
推荐指数
1
解决办法
430
查看次数

标签 统计

ios ×1

swift ×1

swift3 ×1