Async Await
Async Await 기반 응답 처리
// 함수 정의
func 음악듣기() async throws -> Bool { return true }
// 함수 호출
let 음악듣기결과 = try await 음악듣기()
Swift
복사
에러 처리
// 함수 정의
func 음악듣기() async throws -> Bool { return true }
// 함수 호출
let 음악듣기결과 = try? await 음악듣기()
do {
let 음악듣기결과 = try await 음악듣기()
}
catch {
print(error)
}
Swift
복사
연쇄 처리
let 설거지 완료 결과 = await 설거지하기()
let 빨래하기 완료 결과 = await 빨래하기()
Swift
복사
동시 API 처리하기 - TaskGroup 활용 유무
// 방법 1
async let 설거지결과 = 설거지하기()
async let 빨래하기결과 = 빨래하기()
async let 청소하기결과 = 청소하기()
// await로 다 끝날 때까지 기다림
let results = try await[설거지결과, 빨래하기 결과, 청소하기결과]
// 방법 2 taskGroup 활용
// DispatchGroup과 비슷
// 에러 처리
try await withThrowingTaskGroup
// 에러 처리 X
await withTaskGroup
Swift
복사