Я пишу небольшую оболочку вокруг некоторых вызовов Alamo и получаю некоторые проблемы с замыканиями, замыкание вызывается до ответа Alamo fire
var manager = Alamofire.SessionManager.default {
didSet {
self.manager.session.configuration.timeoutIntervalForRequest = 30
}
}
//Create my function signature
func sendInformation(parameters: [String: Any], completion: @escaping (_ success: Bool, _ error: String?) -> Void) {
//helper for creating params / headers etc
let request = HelperRequest().submitNewPassport(parameters: parameters)
manager.request(request.requestURL,
method: request.method,
parameters: request.parameters,
encoding: request.encoding,
headers: request.headers).responseJSON { (response) in
print("** Updated called")
if response.result.isSuccess {
//show success
completion(true, nil)
return
} else {
//show error
completion(false, error.localizedDescription)
return
}
completion(false, nil)
Однако, когда это вызывается, я получаю завершение сбоянепосредственно перед запросом и следующим правильным обратным вызовом
sendInformation(parameters: params, { (success, error) -> Void in
if success {
print("** success")
} else {
print("** error ")
}
Журнал выглядит следующим образом
** error
** Updated called
** Success