Swift Синхронные вызовы API - PullRequest
0 голосов
/ 19 ноября 2018

Мне нужно сделать три вызова API на сервере один за другим (синхронно), второй API должен вызываться только в случае успеха первого.Если первый API терпит неудачу, тогда я должен остановить поток и показать другой контроллер представления с попытками и отменой.Что я должен использовать и как я должен это делать?

1 Ответ

0 голосов
/ 19 ноября 2018

Использование TRVSURLSessionOperation поможет вам, вот как это сделать:

let queue = OperationQueue()
let session = URLSession(configuration: URLSessionConfiguration.default)
let firstOperation = TRVSURLSessionOperation(session: session, request: URLRequest(url: URL(string: "first url")!)) { (data, response, error) in
  // Your completion logic
}
let secondOperation = TRVSURLSessionOperation(session: session, request: URLRequest(url: URL(string: "second url")!)) { (data, response, error) in
  // Your completion logic
}
secondOperation?.addDependency(firstOperation!)
queue.addOperations([firstOperation!, secondOperation!], waitUntilFinished: false)
...