Do I need to wrap my Alamofire calls inside dispat

2019-04-22 02:40发布

问题:

func authenticate(completion:(success: Bool) -> Void) {
let qos = Int(QOS_CLASS_USER_INITIATED.value)
dispatch_async(dispatch_get_global_queue(qos, 0)){ () -> Void in
    Alamofire.request(.POST, CONSTANTS.Domain+"/accounts", parameters: ["" : ""]).responseJSON { (req, res, json, error)  in
         dispatch_async(dispatch_get_main_queue()){
               completion(success: true)
         }
    }
}
}

Or, can I leave out the dispatch and just keep my code simple?

回答1:

Alamofire is designed to be asynchronous. On another note, if the method has as callback, most likely it is asynchronous. So, yes you can leave out the dispatch_async calls.