Dados de retorno rápidos do URLSession

Não posso retornar dados do meu HTTPrequest e também não consigo fazer com que os manipuladores de conclusão funcionem. Então, por favor me ajude na minha busca para resolver este problema:

public static func createRequest(qMes: message, location: String, method: String) -> String{
    let requestURL = URL(string: location)
    var request = URLRequest(url: requestURL!)

    request.httpMethod = method
    request.httpBody = qMes.toString().data(using: .utf8)

    let requestTask = URLSession.shared.dataTask(with: request) {
        (data: Data?, response: URLResponse?, error: Error?) in

        if(error != nil) {
            print("Error: \(error)")
        }

        return String(data: data!, encoding: String.Encoding.utf8) as String!
    }
    requestTask.resume()
}

Ele está aguardando a declaração de retorno não nulo na função nulo. Neste ponto, eu não tenho noção ...

questionAnswers(4)

yourAnswerToTheQuestion