Kotlin Coroutine을 읽고 있으며 suspend기능을 기반으로한다는 것을 알고 있습니다. 하지만 무슨 suspend뜻일까요? 코 루틴 또는 함수가 일시 중단됩니까? 에서 https://kotlinlang.org/docs/reference/coroutines.html 기본적으로 코 루틴은 스레드를 차단하지 않고 일시 중단 할 수있는 계산입니다. 사람들이 종종 "기능 중지"라고 말하는 것을 들었습니다. 하지만 함수가 끝날 때까지 기다리기 때문에 일시 중단되는 것은 코 루틴이라고 생각합니다. …
kotlin 문서를 읽었 으며 올바르게 이해했다면 두 Kotlin 함수가 다음과 같이 작동합니다. withContext(context): 현재 코 루틴의 컨텍스트를 전환합니다. 주어진 블록이 실행되면 코 루틴이 이전 컨텍스트로 다시 전환됩니다. async(context): 주어진 컨텍스트에서 새 코 루틴을 시작 .await()하고 반환 된 Deferred태스크를 호출하면 호출 된 코 루틴을 일시 중단하고 생성 된 코 루틴 내부에서 …
나는 현재 kotlin 코 루틴을 더 활용하려고합니다. 그러나 나는 문제에 직면했다 :이 코 루틴에서 moshi 또는 okhttp를 사용할 때 경고가 발생합니다. "부적절한 차단 방법 호출" 이 문제를 해결하는 가장 좋은 방법은 무엇입니까? 나는 정말로 부적절하고 싶지 않다 ;-)
Kotlin Flow에 대한 질문이 있습니다 여러 조각에서 LiveData를 볼 수 있습니다. Flow로이 작업을 수행 할 수 있습니까? 그렇다면 어떻게? map&를 사용하여 단일 LiveData에서 여러 개의 LiveData를 가질 수 있습니다 switchMap. 단일 소스 플로우에서 여러 플로우를 가질 수있는 방법이 있습니까? 사용 MutableLiveData난 아무데도 변수 참조를 사용하여 데이터를 업데이트 할 수 있습니다. …
업데이트 : 시간 초과없이 코 루틴을 먼저 실행 한 다음 시간 초과로 작동하면 작동합니다. 그러나 먼저 timeout with coroutine을 실행하면 오류가 발생합니다. Async도 마찬가지입니다. ktor로 API 호출을 실행하는 데모 kotlin 멀티 플랫폼 응용 프로그램을 만들고 있습니다. ktor 요청에 대해 구성 가능한 시간 초과 기능을 원하므로 코 루틴 수준에서 withTimeout을 사용하고 …
마지막 Google I / O에서 Jose Alcerreca와 Yigit Boyar 는 더 이상 LiveData를 사용하여 데이터를 가져 오지 않아야한다고 말했습니다 . 이제 원샷 페치에 suspend 함수를 사용하고 Kotlin의 Flow를 사용하여 데이터 스트림을 작성해야합니다. 코 루틴은 원샷 페치 또는 삽입과 같은 다른 CRUD 작업에 유용하다는 데 동의합니다. 그러나 데이터 스트림이 필요한 경우 …
코 틀린 코 루틴은 "전의 어쩌면"보증을 제공합니까? 예를 들어, mutableVar이 경우 다른 스레드에 대한 쓰기 및 후속 읽기 (잠재적으로) 간에 " 어쩌면 이전"이 보장됩니까 ? suspend fun doSomething() { var mutableVar = 0 withContext(Dispatchers.IO) { mutableVar = 1 } System.out.println("value: $mutableVar") } 편집하다: 어쩌면 추가 예제는 Kotlin이 더 많기 때문에 …