-
Swift Async / AwaitSwift 2021. 7. 9. 10:39
WWDC21에 나온 Swift 5.5 Async Await 내용!
WWDC21 영상
https://developer.apple.com/videos/play/wwdc2021/10132/
이얏호!
이제 Swift는 일반적으로 async/await로 알려진 패턴인 비동기 함수를 지원합니다. 새로운 구문으로 코드를 더 쉽게 읽고 이해할 수있는 방법을 알아보십시오. 함수가 일시 중단되면 어떻게 되는지 알아보고 기존 완료 핸들러를 비동기식 함수에 적용하는 방법을 알아 볼 수 있는 wwdc 영상이다!
사실 기존에 비동기 처리에대해서 안드로이드와 이야기 하다가, 코루틴(coroutine) 같은거 없냐는 질문을 받은 적이 있는데 굉장히 유사하게 이제 Swift5.5 부터 가능해진 셈이다!
아래 우리가 흔히 사용하는 통신코드다.
조금 더 safe하게 처리하기 위해 다음과 같이 처리하곤 한다. (Result)
위 코드에서 느끼는 바, 오류처리를 장황한 콜백으로 처리함 / closure 중첩 사용
Async / await
여기서 Async / await를 사용해 더 안전하고 간단하게 코드를 작성해보자.
아래 같은 코드 20줄이 6줄이 되는걸 확인할 수 있다.
async : 비동기 처리 하겠다.
await : 비동기 함수 호출 시, potential sespension point 잠재적 일시 중단 시점 지정
비동기 함수가 에러를 던질 경우 try await 로 작성해주면 된다.
728x90'Swift' 카테고리의 다른 글
Combine (0) 2021.07.20 Swift Swizzling (0) 2021.07.16 Swift Thread 처리에 대해 (Operation Queue vs Dispatch Queue) (0) 2021.07.07 URL Session 에 대해서 (0) 2021.07.06 Swinject 사용, DI란? (0) 2021.06.30