iOS/Swift 상식
Async/Await
HJ39
2023. 7. 23. 01:59
async는 함수가 비동기로 처리된다는 것을 의미한다.
await은 마킹된 곳은 potential suspension point(잠재적 일시 중단 지점)로 지정된다.
async로 선언한 함수가 완료될 때까지 일시 중지 되는 지점이다.
□ 예시
func asyncTest() async throws -> String {
try await Task.sleep(nanoseconds: 3_000_000_000) //3초
return "sleep 끝"
}
print("before task")
Task{
let string: String = try await asyncTest()
print(string)
}
print("after task")
// 출력
// before task
// after task
// sleep 끝
asyncTest() 함수는 3초 뒤에 "sleep 끝"을 출력한다.
※ 참고