Offline, Timeout, Retry & Network Resilience ကို permission, loading, empty, offline, timeout, cancellation, retry, app background/foreground နဲ့ stale-data behavior ပါသော lifecycle-aware flow အဖြစ်တည်ဆောက်ပါ။ Subscription, timer နဲ့ request cleanup ကိုမမေ့ပါနှင့်။
ပိုပြီးနားလည်ထားရမယ့် အချက်
Offline, Timeout, Retry & Network Resilience ကို permission, loading, empty, offline, timeout, cancellation, retry, app background/foreground နဲ့ stale-data behavior ပါသော lifecycle-aware flow အဖြစ်တည်ဆောက်ပါ။ Subscription, timer နဲ့ request cleanup ကိုမမေ့ပါနှင့်။
လက်တွေ့မှာ ဘယ်လိုအသုံးချမလဲ
Offline, Timeout, Retry & Network Resilience example ကို Android/iOS, small/large screens, font scaling, dark mode, keyboard, screen reader, slow/offline network, denied permissions နဲ့ app background/foreground cases ဖြင့်စမ်းပါ။ DevTools, tests နဲ့ release build ကိုလိုအပ်သလိုအသုံးပြုပါ။
ဒီသင်ခန်းစာပြီးရင်
export async function loadTasks(signal: AbortSignal) {
const response = await fetch('https://example.com/tasks', { signal });
if (!response.ok) throw new Error('HTTP ' + response.status);
return response.json();
}
const controller = new AbortController();
const timeout = setTimeout(() => controller.abort(), 8000);
loadTasks(controller.signal)
.catch(error => console.warn(error.name === 'AbortError' ? 'Timed out' : error))
.finally(() => clearTimeout(timeout));နှေးသော request ကို ၈ စက္ကန့်အကြာ cancel လုပ်ပြီး failure ကို retry လုပ်နိုင်မည်။ကိုယ်တိုင်စမ်းကြည့်ရန်
Offline, Timeout, Retry & Network Resilience example ကို Android/iOS, small/large screens, font scaling, dark mode, keyboard, screen reader, slow/offline network, denied permissions နဲ့ app background/foreground cases ဖြင့်စမ်းပါ။ DevTools, tests နဲ့ release build ကိုလိုအပ်သလိုအသုံးပြုပါ။
Platform/Lifecycle သတိပေးချက်
Simulator တစ်ခု၏ happy path မှန်ရုံဖြင့် real devices, release builds, permissions, accessibility, offline နဲ့ lifecycle paths အားလုံးမှန်ပြီဟုယူဆခြင်း။
Networking — React Native