Search
Duplicate

응답 형태 변환

Created
2023/09/28 06:52
Tags
태그

응답 형태 변환

클로저 → Async / continuation 활용

에러 처리 X
return await withCheckedContinuation { continuation in // 클로저 호출 // 성공시 continuation.resume(returning: T) }
Swift
복사
에러 처리 O
return try await withThrowingCheckedContinuation { continuation in // 성공시 continuation.resume(returning: T) // 실패시 continuation.resume(throwing: Error) }
Swift
복사

클로저 → Rx / Observable.create 활용

에러 처리 X
return Observable.create { observer in // 클로저 호출 // 성공시 observer.onNext(T) // 이벤트 발송 observer.onComplete() // 스트림 종료 return Disposables.create() }
Swift
복사
에러 처리 O
return Observable.create { observer in // 클로저 호출 // 성공시 observer.onNext(T) obserer.onComplete() // 실패시 observer.onError(Error) return Disposables.create() }
Swift
복사

클로저 → Combine

에러 처리 O
return Future<성공, 실패> { promise in // 클로저 호출 // 성공 promise(.success(T)) // 실패 promise(.failure(Error)) // promise(Result<T, Error>) }
Swift
복사
에러 처리 X
return Future<성공, Never> { promise in // 클로저 호출 // 성공 promise(.success(T)) }
Swift
복사

Combine → Async

Rx → Async

Combine Rx

RxCombine 사용

Async → Combine