Как выполнить набор кодов отправки в последовательности. Например:Выполнение основной операции отправки
Dispatch.main.async{
//call API, it may takes 5-10 seconds..
//do something..
print("done 1")
}
Dispatch.main.async{
//call API, it may takes 5-10 seconds..
//do something
print("done 2")
}
Dispatch.main.asyncAfter{
print("completed")
}
Output:
completed
done1
done2
Expected output:
done1
done2
completed
Я использую основной, потому что «что-то сделать» это заполнить resut к UI. Я попытался использовать global(), но «завершено» всегда выполняется первым и не подходит для использования времени задержки отправки, поскольку не может подтвердить, сколько времени времени вызова API. нужно предложение в стрижа ~
Почему бы вам не использовать обработчик завершения? Попробуйте, доступно много сообщений SO. –
Поскольку основная очередь - очередная диспетчерская очередь, вы можете использовать 'Dispatch.main.async()' для своего третьего блока, а также можете использовать dispatch_group – Paulw11