Ponawianie prób i tryb offline
Sprawne odzyskiwanie po przejściowych błędach
Ponawianie prób i tryb offline to bezpłatna lekcja Kotlin Multiplatform Academy na CoddyKit. To lekcja 4 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Kotlin Multiplatform Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Kotlin Multiplatform Academy zawiera 4 lekcji w sumie.
Niektóre błędy są tymczasowe
Limit czasu często mija przy drugiej próbie. Traktuj błędy przejściowe jako warte ponowienia, a nie jako ostateczny koniec dla użytkownika.
Ponawiaj tylko właściwe błędy
Ponawiaj tylko przejściowe rodzaje błędów, takie jak przekroczenie limitu czasu sieci. Błąd parsowania zakończy się niepowodzeniem za każdym razem, więc ponawianie tylko marnuje zasoby.
Prosta pętla ponowień
Umieść wywołanie w niewielkiej pętli, która spróbuje wykonać je kilka razy. Jeśli w końcu się powiedzie, zwróć Success; w przeciwnym razie przejdź do Failure.
repeat(3) {
val r = fetch()
if (r is Success) return r
}Stosuj opóźnienie między próbami
Natychmiastowe, wielokrotne ponawianie rzadko pomaga. Dodaj rosnące opóźnienie między próbami, aby przeciążony serwer miał czas na odzyskanie sprawności.
delay(attempt * 500L)Ogranicz liczbę prób
Nigdy nie zapętlaj się bez końca. Stały limit dwóch lub trzech prób sprawi, że użytkownik nie będzie czekać bez końca na usługę, która rzeczywiście nie działa.
Sięgnij do pamięci podręcznej
Gdy ponowienia się wyczerpią, sprawdź pamięć lokalną. Wyświetlenie nieco nieaktualnych danych jest lepsze niż pokazanie pustego, uszkodzonego ekranu.
Wyświetl nieaktualne dane, potem odśwież
Przyjaznym rozwiązaniem jest strategia stale-while-revalidate: natychmiast wyświetl dane z pamięci podręcznej, a następnie po cichu pobierz świeże dane w tle.
Poinformuj użytkownika o trybie offline
Podczas korzystania z pamięci podręcznej ustaw w stanie flagę offline, aby UI mogło wyświetlić subtelny baner informujący o nieaktualnej zawartości.
Korutyny upraszczają kod
Ponieważ kod działa w funkcji suspend, opóźnienia i ponowienia wyglądają jak zwykły kod sekwencyjny, bez konieczności zarządzania callbackami ani wątkami.
suspend fun loadWithRetry(): Result<User>Zachowaj możliwość anulowania
Przestrzegaj zasad anulowania: jeśli ekran zostanie zamknięty w trakcie ponawiania, współbieżność strukturalna zatrzyma pętlę, dzięki czemu nie pozostawisz pracy działającej w tle.
Jeden odporny punkt wejścia
Wywołujący po prostu uruchamiają loadWithRetry i otrzymują najlepszy dostępny wynik: świeże dane, dane z pamięci podręcznej albo jasny obiekt Failure. Wszystko jest rozstrzygane we współdzielonym kodzie.
Szybkie sprawdzenie
Zastanów się, które błędy zasługują na kolejną próbę.
Podsumowanie
Ponawiali Państwo próby dla błędów przejściowych z narastającymi opóźnieniami, ograniczyli liczbę prób, użyli danych z pamięci podręcznej wraz z flagą offline i zachowali możliwość anulowania we współdzielonym kodzie. 🔄
Ucz się Kotlin dzięki korepetycjom AI — za darmo
Pisz i uruchamiaj kod w przeglądarce, otrzymuj natychmiastową pomoc od korepetytora AI dostępnego 24/7 i kontynuuj naukę w sieci lub w aplikacji.
- Kursy
- 30
- Lekcje
- 120
Często zadawane pytania
Czy lekcja „Ponawianie prób i tryb offline” jest bezpłatna?
Tak — pełny tekst „Ponawianie prób i tryb offline” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Kotlin Multiplatform Academy, przejdź na CoddyKit PRO. Kurs Kotlin Multiplatform Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Ponawianie prób i tryb offline”?
Sprawne odzyskiwanie po przejściowych błędach Ćwiczysz Kotlin Multiplatform Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Kotlin Multiplatform Academy?
Nie wymagamy żadnego doświadczenia. Kotlin Multiplatform Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 4 z 4.
Ile czasu zajmuje lekcja „Ponawianie prób i tryb offline”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Kotlin Multiplatform Academy?
Tak. Każda lekcja Kotlin Multiplatform Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Typ wyniku sealed
- Przechwytywanie błędów sieci i parsowania
- Mapowanie błędów na komunikaty interfejsu
- Ponawianie prób i tryb offline