我无法在 func 中正确检查来自 URLSession 的响应状态。 Swift

I can't correctly check the response status from URLSession in func. Swift

函数return 结果为零。我知道它异步工作。我尝试使用 completionHandler,但我做得不够好,而且我只有很多错误。在这种情况下如何使用 completionHandler?有没有更简单的方法来检查令牌?

func isAuthenticated() -> Bool {
        guard let url = URL(string: self.url + "/api/authenticate") else {
            return false
        }
        var request = URLRequest(url: url)
        request.httpMethod = "GET"
        request.addValue("*/*", forHTTPHeaderField: "accept")
        request.addValue("application/json", forHTTPHeaderField: "Content-Type")
        request.addValue(JWT.getToken(), forHTTPHeaderField: "Authorization")
        
        var result: Bool?
        URLSession.shared.dataTask(with: request){ (data, response, error) in
            guard error == nil else { print(error!.localizedDescription); return }
            let httpResponse = response as! HTTPURLResponse
            if httpResponse.statusCode == 200 {
                result = true
            } else {
                result = false
            }
        }.resume()
        return result!
    }

函数调用:

    if isAuthenticated() {
        self.performSegue(withIdentifier: "loginOK", sender: self)
    }
func isAuthenticated(completion: @escaping (_ success: Bool) -> Void) {
    guard let url = URL(string: self.url + "/api/authenticate") else {
        completion(false)
        return
    }
    var request = URLRequest(url: url)
    request.httpMethod = "GET"
    request.addValue("*/*", forHTTPHeaderField: "accept")
    request.addValue("application/json", forHTTPHeaderField: "Content-Type")
    request.addValue(JWT.getToken(), forHTTPHeaderField: "Authorization")
    
    URLSession.shared.dataTask(with: request){ (data, response, error) in
        guard error == nil else { print(error!.localizedDescription); return }
        let httpResponse = response as! HTTPURLResponse
        if httpResponse.statusCode == 200 {
            completion(true)
        } else {
            completion(false)
        }
    }.resume()
}

函数调用:

isAuthenticated() { success in
    if success {
        self.performSegue(withIdentifier: "loginOK", sender: self)
    }
}