iOS/비동기처리
[Concurrency] async / await
택꽁이
2023. 2. 6. 13:21
728x90
async/await
Date: 2023년 2월 1일
Tags: SwiftConcurrency
async
public func data(from url: URL, delegate: URLSessionTaskDelegate? = nil) async throws -> (Data, URLResponse)
async
가 붙은 함수는 비동기라는 것을 나타낸다.- 에러를 반환할 수 있을때에는
async throws
키워드로 선언, 호출할 때에는try await
키워드로 호출하게 된다.
await
let (data, response) = try await URLSession.shared.data(for: reqeust)
- 비동기 함수 호출 시 잠재적 중단 시점을 지정하는 피연산자
- 동시성 컨텍스트에서만 실행 가능하다 → 다른
async
함수에서 실행하거나Task{}
를 통해 수동으로 실행 가능함.