Swift dataTaskWithURL有时不返回

Swift dataTaskWithURL有时不返回,swift,ios8,nsurlsession,Swift,Ios8,Nsurlsession,我有一个非常简单的http请求,它将返回JSON数据。这是我的密码: let query = NSString(format: "http://glosbe.com/gapi/translate?from=eng&dest=eng&format=json&phrase=test",src, dest, phrase ) let url = NSURL(string: query) let task = NSURLSessi

我有一个非常简单的http请求,它将返回JSON数据。这是我的密码:

        let query = NSString(format: "http://glosbe.com/gapi/translate?from=eng&dest=eng&format=json&phrase=test",src, dest, phrase )
        let url = NSURL(string: query)

        let task = NSURLSession.sharedSession().dataTaskWithURL(url) {(data, response, error) in
            if let httpRes = response as? NSHTTPURLResponse {
                println("status code=",httpRes.statusCode)
                if httpRes.statusCode == 200 {
                    println(NSString(data: data, encoding: NSUTF8StringEncoding))
                    // parse data
                    let phrase = Phrase.parse(data)
                    println(phrase.description)
                }
            }
        }

        task.resume()
有时根本不调用completionHandler。我怀疑是服务器的问题。但当我在浏览器中输入相同的url并尝试了几十次时。根本没有问题。当我刷新浏览器时,数据被全部返回


我的代码有什么错误吗?谢谢

代码对我来说还可以。我建议您可以对代码进行此更改(一个
else
子句):


所以,如果出现任何问题,你会有一个更好的主意

我必须说,在我看来还行——这是用于前台还是后台的应用程序?
        if let httpRes = response as? NSHTTPURLResponse {
            println("status code=",httpRes.statusCode)
            if httpRes.statusCode == 200 {
                println(NSString(data: data, encoding: NSUTF8StringEncoding))
                // parse data
                let phrase = Phrase.parse(data)
                println(phrase.description)
            }
        } else { 
            println("error \(error)") // print the error!
        }