일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- adapter
- 코딜리티
- Error:Execution failed for task ':app:mergeDebugResources'
- 스와이프
- Fragment에서 Activity의 함수 사용하기
- fragment
- high order function
- 재사용
- Android
- espresso
- 고차함수
- 코틀린
- binding adapter
- 안드로이드13
- 뷰변경 감지
- LayoutManger
- recyclerview
- viewholder
- 리사이클러뷰
- 구분선
- 안드로이드스튜디오
- Fragment 수동 추가
- 안드로이드개발레벨업교과서
- 안드로이드
- 테마 아이콘
- 생명주기
- ActivityTestRule
- searchview
- ui test
- IntentTestRule
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