邮递员和alamofire之间的回复时间

时间:2017-03-22 11:02:26

标签: swift swift3 alamofire postman

我目前正在使用Swift 3应用程序,我很惊讶应用程序中的响应时间...

邮递员,我的请求是在200毫秒内作出回应,但在应用程序中,感觉就像是在漫游和响应之间花了10多秒......

以下是请求花费太多时间的示例:

class func getFriendPage(page : Int, callback : @escaping (Bool, JSON) -> Void) {
    let url = NetworkManager.getUrl() + "api/v1/challenges/friends?page=" + String(page)
    let params = [:] as [String : Any]?

    Alamofire.request(url, method: .get, parameters: params, encoding: JSONEncoding.default, headers: NetworkManager.getHeader()).responseJSON { (response) -> Void in

        if response.response != nil && (response.response?.statusCode)! < 300 {

            print("Status Code : \(response.response?.statusCode)")
            print("response : \(response.response)")
            print("result : \(response.result)")
            print("value : \(response.result.value)")

            let json = JSON(response.result.value!)
            callback(true, json)
        } else {
            callback(false, JSON.null)
        }
    }
}

如果有人可以帮助我,那就太棒了! :D非常感谢! 如果您需要更多细节,我还在那里!

编辑:我在我的手机上使用手机的个人热点尝试邮递员:响应时间约为1.5秒,找不到我失去的那些9秒

1 个答案:

答案 0 :(得分:3)

好吧我的坏...如果你没有参数,请不要使用JSONEncoding.default ..使用URLEncoding.default ...

这是一个例子:

class func getFriendPage(page : Int, callback : @escaping (Bool, JSON) -> Void) {
    let url = NetworkManager.getUrl() + "api/v1/challenges/friends?page=" + String(page)

    Alamofire.request(url, method: .get, parameters: [:], encoding: URLEncoding.default, headers: NetworkManager.getHeader()).responseJSON { (response) -> Void in
        if response.response != nil && (response.response?.statusCode)! < 300 {

            print("Status Code : \(response.response?.statusCode)")
            print("response : \(response.response)")
            print("result : \(response.result)")
            print("value : \(response.result.value)")

            let json = JSON(response.result.value!)
            callback(true, json)
        } else {
            callback(false, JSON.null)
        }
    }
}