In a swift 2 command line tool (main.swift), I have the following:
import Foundation print("yay") var request = HTTPTask() request.GET("http://www.stackoverflow.com", parameters: nil, completionHandler: {(response: HTTPResponse) in if let err = response.error { print("error: \(err.localizedDescription)") return //also notify app of failure as needed } if let data = response.responseObject as? NSData { let str = NSString(data: data, encoding: NSUTF8StringEncoding) print("response: \(str)") //prints the HTML of the page } })
The console shows 'yay' and then exits (Program ended with exit code: 0), seemingly without ever waiting for the request to complete. How would I prevent this from happening?
The code is using swiftHTTP
I think I might need an NSRunLoop but there is no swift example
Adding RunLoop.main.run()
to the end of the file is one option. More info on another approach using a semaphore here
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With