网络编程时,当业务逻辑变得复杂,难免会遇到回调嵌套。Javascript
的async/await
异步处理方案让我们不再受callback
回调噩梦的困扰。
本文介绍一种让Alamofire
实现类似于async/await
的同步请求方案,优雅摆脱回调地狱。演示如下,基于 Alamofire 5.0+。
// 异步请求
AF.request(LOGIN_URL, method: .post, parameters: params).responseDecodable(of: MyNetWorkModel.self) { (response) in
if response.result == .success { ... }
}
// 同步请求
let response = AF.request(LOGIN_URL, method: .post, parameters: params).responseDecodable(of: MyNetWorkModel.self)
if response.result == .success { ... }