Мне нужно проверить статус обработки в цикле. нужно получить запрос
func check( completion: @escaping (Bool)->()){
let url = URL(string: "url")!
var curStatus = "processing"
let serialQueue = DispatchQueue(label: "serialQueue")
while curStatus == "processing" {
serialQueue.async{
let runLoop = CFRunLoopGetCurrent()
Alamofire.request(url, method: .get, parameters: nil)
.responseJSON { response in
guard response.result.isSuccess else {
completion(false)
return
}
guard let value = response.result.value as? [String: Any] else {
completion(false)
return
}
curStatus = value["status"] as? String ?? "error"
if curStatus == "ok" {
// do something
completion(true)
return
}
if curStatus == "error"{
completion(false)
return
}
CFRunLoopStop(runLoop)
}
sleep(2)
CFRunLoopRun()
}
}
}
Проблема: не идет в ответ JSON. Я поставил точку останова в
guard response.result.isSuccess else ...
и это не вызывало его, но точка останова в строке
Alamofire.request(url, ...
отлично работает.
Как мне это исправить?
Извините за мой английский. Я только учусь этому.