W kotlinx.coroutinesbibliotece możesz uruchomić nowy program, używając launch(zjoin ) lub async(z await). Jaka jest różnica między
W kotlinx.coroutinesbibliotece możesz uruchomić nowy program, używając launch(zjoin ) lub async(z await). Jaka jest różnica między
Czytam Kotlin Coroutine i wiem, że opiera się na suspendfunkcji. Ale co to suspendznaczy? Program lub funkcja zostaje zawieszona? Z https://kotlinlang.org/docs/reference/coroutines.html Zasadniczo programy te to obliczenia, które można zawiesić bez blokowania wątku Słyszałem, jak ludzie...
Czytałem dokumentację Kotlin i jeśli dobrze zrozumiałem, dwie funkcje Kotlin działają w następujący sposób: withContext(context): przełącza kontekst aktualnego programu, gdy wykonywany jest dany blok, program przełącza się z powrotem do poprzedniego kontekstu. async(context): Uruchamia nowy...
Czy programy Kotlin można wykorzystać w produkcji i co oznacza ich status eksperymentalny?
Obecnie próbuję bardziej wykorzystać kotlin coroutines. Ale mam problem: kiedy używam moshi lub okhttp w tych koronach, dostaję ostrzeżenie: „nieodpowiednie wywołanie metody blokowania” Jak najlepiej to naprawić? Naprawdę nie chcę być nieodpowiednia
Mam pytania dotyczące Kotlin Flow Mogę obserwować LiveData z wielu fragmentów. Czy mogę to zrobić za pomocą Flow? Jeśli tak to jak? Możemy mieć wiele LiveData z jednego LiveData za pomocą map& switchMap. Czy jest jakiś sposób na posiadanie wielu Flowów z jednego źródła Flow? Za pomocą...
Aktualizacja: Działa, jeśli najpierw wykonam koronę bez limitu czasu, a następnie za pomocą Timeout. Ale jeśli najpierw wykonam coroutine za pomocą Timeout, wówczas pojawi się błąd. to samo dotyczy Async. Tworzę demo wieloplatformową aplikację kotlin, w której wykonuję wywołanie API za pomocą...
Czy karliny Kotlin dają jakieś gwarancje „zdarzy się przed”? Na przykład, czy w tym przypadku istnieje gwarancja „dzieje się przed” między zapisem mutableVara późniejszym odczytem (potencjalnie) innego wątku: suspend fun doSomething() { var mutableVar = 0 withContext(Dispatchers.IO) {...
W ostatnim We / Wy Google Jose Alcerreca i Yigit Boyar powiedzieli nam, że nie powinniśmy już używać LiveData do pobierania danych. Teraz powinniśmy używać funkcji zawieszenia do pobierania jednorazowego i użyć przepływu Kotlina, aby utworzyć strumień danych. Zgadzam się, że coroutines świetnie...
Z wyjątkiem bloku, w którym zadeklarowałem podpis, wszystkie bloki mają tę samą wartość tożsamości i twierdzą, że zostały zadeklarowane w wierszu 1, niezależnie od tego, gdzie występują. Czy ktoś mógłby rzucić nieco światła na to, dlaczego tak jest? say 「Let's look at some blocks…」; if True {...