我目前正在使用URLSession从Web服务器发送和接收数据,但我遇到的问题是查询是在其后的任何其他代码的末尾执行的,例如,如果我有以下说明: / p>
end()
首先,您将运行“Hello world”然后运行http查询,如何运行URLSession,然后运行代码还剩下什么?
答案 0 :(得分:1)
URL会话是异步的,涉及到来回与服务器进行通信的时间。您必须使用URLSession的变体,它允许您拥有完成处理程序:
select DISTINCT
from (select id, exist(data, ‘exercise_quiz’) key_exists
from user_tracking) x
where key_exists = true;
祝你好运!
答案 1 :(得分:-2)
这是我找到的解决方案:
let semaphore = DispatchSemaphore(value: 0)
_ = URLSession.shared.dataTask (with: url_request)
{(data, response, error) in
print("One")
semaphore.signal()
}.resume ()
_ = semaphore.wait(timeout: DispatchTime.distantFuture)
print (“Two”)
这就是打印:
>> One
>> Two