inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

2시간으로 끝내는 코루틴

9강. 코루틴과 Continuation

suspend 함수에 관해 추가적인 질문 있습니다! (runcatching, Result)

126

이훈

작성한 질문수 2

0

9강을 듣고 이해한 바로는, suspend 함수는 Continuation으로 resumeWith의 Result를 통해 내부적으로 콜백을 진행한다고 이해하였습니다!

그렇다면 suspend 함수를 사용할때에는 runCatching을 사용하거나, 반환값을 Result로 묶는것은 불필요한 행위라는 결론을 내렸는데, 맞는 생각인지가 궁금합니다!

왜냐면 runCatching과 Result 반환값을 활용하게 된다면, 애초에 suspend로 한번 예외처리를 진행했기에 중복된 작업이라고 생각하였기 때문입니다!

팀원들과 부트캠프를 통해 진행한 프로젝트를 개선하고자 하는데, suspend 함수에 runCatching을 사용 후 Result로 반환을 하였어서 불필요한 작업이라고 생각되어 개선하고자 하기에 질문드립니다!

긴 글 읽어주셔서 감사합니다!

kotlin coroutine

답변 1

1

최태현

안녕하세요 이훈님! 🙂 좋은 질문 감사합니다. 결론부터 말씀드리면 불필요한 행위는 아닙니다!

그 이유는 Contiunuation 예시로 보여드린 Result 와 말씀해주신 runCathcing 과 함께 사용되는 Result이름만 같고 다른 객체이기 때문입니다!

suspend 자체는 예외 처리를 해주는 것이 아니고 Continuation 을 이용한 중단 지점으로써의 역할만 수행할 뿐이에요!

실제로 필요에 따라서 suspend + runCatching 으로 예외를 잡아 처리해야 하는 경우가 종종 있답니다.

답변이 도움이 되었으면 좋겠습니다. 감사합니다.

Dispatchers 별 차이점 관련 질문

0

91

1

코루틴과 가상 스레드의 차이가 궁금합니다.

1

307

2

Coroutine과 ThreadLocal관련 질문

0

152

2

선생님 강의를 듣고 크롤링에 코루틴을 적용해보고 있습니다. 그런데 코루틴이 하나만 나와서 동시처리가 안되는데 혹시 봐주실 수 있나요??

1

114

1

7강에 대해서 궁금증이 있는데요

1

116

2

Spring MVC에서 corountine 활용 방안

1

538

1

9강 코루틴 중단과 재개관련 문의 드립니다.

0

124

2

간단 질문.. join() vs delay()

0

157

2

코루틴을 잘 사용하고 있는지 궁금합니다.

0

196

1

CoroutineScope & Dispatcher 질문

0

160

2

async await 관련 질문

1

135

2

코루틴 실행 순서 궁금합니다.

1

231

2

corutine task에 대한 질문

1

195

2

completing의 존재의의가 궁금합니다.

1

161

1

코루틴 dispatcher IO관련 질문

0

187

1

Job 질문이 있습니다

1

203

1

스프링 MVC 환경에서의 코루틴

1

2093

1

자식1, 2와 부모코루틴의 관계

1

225

1

한 suspend fun 의 반환값이 다른 suspend fun의 파라미터로 쓰일 때

1

329

2

delay 함수에 대해 질문이 있습니다

1

392

1

runBlocking을 사용하는 경우가 있을까요?

0

399

1

delay가 없으면 실행 안 되는 이유

0

294

1

코루틴 스코프

0

312

1

CoroutineScope 와 withContext 의 차이를 잘 모르겠습니다.

1

699

1