gpt4 book ai didi

ios - 为什么最后调用 DataTaskWithRequest?

转载 作者:搜寻专家 更新时间:2023-11-01 07:29:12 24 4
gpt4 key购买 nike

我必须创建一个应用程序来恢复 API 中的数据,为此我在请求中使用了 NSURLSession.sharedSessiondataTaskWithRequest

我设法恢复了所有信息,但我不明白为什么最后调用 dataTaskWithRequest

func my_connection(login: NSString, password: NSString) -> Void {
let request: NSMutableURLRequest = create_request(login, password: password)
let session = NSURLSession.sharedSession()
print("test1")
let task = session.dataTaskWithRequest(request, completionHandler: {(data, response, error) -> Void in
if (data == nil) {
NSLog("Error Connection")
}
print("test2")
let res = response as! NSHTTPURLResponse!
if (my_code_HTTP(res.statusCode) == 0) {
var jsonData:NSDictionary = NSDictionary()
do {
jsonData = try NSJSONSerialization.JSONObjectWithData(data!,options:NSJSONReadingOptions.MutableContainers) as! NSDictionary
extract_data_projets(jsonData)
extract_data_activity(jsonData)
extract_data_history(jsonData)
display_board()
}
catch {
NSLog("Error")
}
my_connection_user()
my_connection_notes()
}
})
print("test3")
task.resume()
print("test4")
}

这是我编译后得到的:

 test1
test3
test4
test2

最佳答案

是因为你在做异步请求。您的请求将在最少执行。在 resume() 之后,但不是紧接着。您在 test3 之后执行 task(),因此这会使您的异步请求持续到最后。如果您在 test3 之前执行此操作,并且如果您的请求非常快,它可能会在 test4 之前完成,但您永远不会知道。

关于ios - 为什么最后调用 DataTaskWithRequest?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33768354/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com