-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Swift의 async/await를 사용한 비동기 프로그래밍에 대해 설명해주세요. #40
Comments
Swift의 async/await를 사용한 비동기 프로그래밍에 대해 설명해주세요.async/await이 만들어진 이유부터 알아보도록 하겠습니다. 일단 동기(synchronous) 작업은 해당작업이 끝날 때까지 다른 작업들은 기다리는 작업입니다. ![]() 반면 비동기(asynchronous) 작업은 해당작업이 끝나든 말든 나머지 작업을 바로 실행합니다. ![]() 이런 비동기로 보낸 작업들이 끝난 시점을 알려주는 대표적인 방법이 import Foundation
func fetchData(completion: @escaping (Data?, Error?) -> Void) {
let url = URL(string: "예시 URL주소")!
URLSession.shared.dataTask(with: url) { data, response, error in
if let error = error {
completion(nil, error)
} else {
guard let httpResponse = response as? HTTPURLResponse,
(200...299).contains(httpResponse.statusCode) else {
return // 여기서 completion 호출하지 않고 바로 return
}
completion(data, nil)
}
}.resume()
} 비동기 작업에서 위와 같은 문제를 해결하기 위해 위 내용들을 요약하여
|
async/await 문법의 동작 원리와 사용 방법은 무엇인가요?
Task와 TaskGroup을 사용하여 비동기 작업을 관리하는 방법을 설명해주세요.
The text was updated successfully, but these errors were encountered: