일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- adapter
- viewholder
- 생명주기
- 재사용
- 안드로이드
- IntentTestRule
- 스와이프
- 뷰변경 감지
- 구분선
- Error:Execution failed for task ':app:mergeDebugResources'
- 안드로이드개발레벨업교과서
- Android
- recyclerview
- LayoutManger
- 테마 아이콘
- Fragment에서 Activity의 함수 사용하기
- Fragment 수동 추가
- binding adapter
- 코틀린
- espresso
- fragment
- high order function
- 코딜리티
- ActivityTestRule
- 고차함수
- ui test
- 리사이클러뷰
- 안드로이드스튜디오
- 안드로이드13
- searchview
Archives
- Today
- Total
룬아님의 취중코딩
Java Callback을 Coroutine으로 변환하기 본문
suspendCoroutine이 코루틴 내에서 호출될 때 컨티뉴에이션의 인스턴스가 코루틴의 상태를 캡쳐하고 지정된 블록에 인자로 전달됩니다. 코루틴을 다시 실행하려면 블록은 해당 쓰레드나 다른 쓰레드에서 resumeWith()를 직접 호출하거나 resume() 또는 resumeWithException()을 호출해야 합니다.
이를 이용하여 아래의 코드와 같이 Callback을 사용하는 함수를 suspend 함수로 변환해줍니다.
class TestImpl {
suspend fun test(): Something = suspendCoroutine {
somethingService.getCallback() { response: Something ->
it.resume(response)
}
}
}
https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.coroutines/suspend-coroutine.html
반응형
'개발 > 안드로이드 개발' 카테고리의 다른 글
AppBarLayout에서 스크롤시에 그림자 만드는 옵션 (0) | 2022.01.12 |
---|---|
앱내에서 언어 변경 (Appcompat 1.2.0) (0) | 2021.11.08 |
Multi Module에서 Hilt를 사용할 때에 cannot access가 발생하는 이슈 (0) | 2021.05.20 |
Databinding LiveData가 작동하지 않을 때 확인할 것들 (0) | 2021.05.20 |
Terminal로 딥링크 테스트 하는 방법 (0) | 2020.09.02 |
Comments