ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Swift Async / Await
    Swift 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 부터 가능해진 셈이다!

     

    아래 우리가 흔히 사용하는 통신코드다.

    아래 Thread 참고

    조금 더 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

    댓글

Designed by Tistory.