Apply common patterns to migrate your closure-based, event-handling code.
컴플리션 핸들러로 이벤트를 처리하는 코드를 Combine 으로 바꿔보자~~~~~ 👍🏻
개요
ASIS
TOBE
- Combine 이 제공하는 타입과 operator 들로 교체하여 구현
TIP
- 그런데 Swift 5.5 에서 제공하는 async-await 를 사용하면 클로져-기반 비동기 패턴이 필요가 없다. (Combine 도)
- 관련 주제 : Concurrency
.
Completion Hander → Future
- 컴플리션 핸들러는 함수가 파라미터로 받는 클로저를 가리키는데, 함수가 작업을 완료하면 실행된다.
- 필요에 의해서 함수 외부에 저장을 해놓기도 한다. (escaping closure)
- 이것은 Combine Future 로 대체할 수 있다.
- Future
- 작업을 비동기적으로 수행하고 단일 이벤트 (success or failure) 만을 방출하는 publisher
- 작업을 마치고 promise 라는 클로저에 결과를 전달하면댐