Skip to content

Instantly share code, notes, and snippets.

@JeremyXue77
Created May 9, 2019 13:25
Show Gist options
  • Save JeremyXue77/ee248af7556b1ade39aa65d746e8e862 to your computer and use it in GitHub Desktop.
Save JeremyXue77/ee248af7556b1ade39aa65d746e8e862 to your computer and use it in GitHub Desktop.
func request(_ route: EndPoint, completion: @escaping NetworkRouterCompletion) {
let session = URLSession.shared
do {
// 要建立 Request,我們會調用 buildRequest,並透過一個 route(即是 EndPoint) 來生成。
let request = try buildRequest(from: route)
task = session.dataTask(with: request, completionHandler: { (data, response, error) in
// 將 data、response、error 傳回 Completion
completion(data, response, error)
})
} catch {
// 接收 buildRequest 內 Encoder 所拋出的錯誤訊息
completion(nil, nil, error)
}
self.task?.resume()
}
// 取消 task 函數
func cancel() {
self.task?.cancel()
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment