تحت القصاص ، ملاحظة صغيرة حول كيفية إيقاف تنفيذ التطبيق الخاص بك عندما يتم قطع اتصال الإنترنت ومتابعة - متى سيتم استعادته.
تخيل أن تطبيقك الافتراضي يجب أن ينفذ قائمة انتظار لطلبات HTTP. علاوة على ذلك ، يعتمد كل ما يلي على نتيجة السابق.
async function main () { let url = ' ... ' while (url) { const resp = await fetch(url) const json = await resp.json() url = json.url } }
ولكن إذا اختفى الاتصال بالإنترنت في منتصف هذه العملية ، فسيتم مقاطعة قائمة الانتظار. دعونا إصلاحه.
بادئ ذي بدء ، نكتب وظيفة من شأنها أن تعيد الوعد التي سيتم حلها عندما يستأنف العميل الاتصال:
function awaitOnline () { return new Promise(resolve => {
أضفه الآن إلى الكود الرئيسي لدينا
async function main () { let url = ' ... ' while (url) { await awaitOnline()
بهذه الطريقة البسيطة ، في كل تكرار ، ستقوم الخوارزمية الخاصة بنا بالتحقق من حالة الشبكة ، وستتوقف مؤقتًا في حالة عدم وجود اتصال. وسيستمر التنفيذ تلقائيًا من نفس المكان بمجرد استعادة الاتصال.
بالطبع ، هذه ليست حلا سحريا. ولكن مثل هذا الاختراق الصغير سيجعل تطبيقك أكثر تسامحًا مع الخطأ.