الدرس 4 من 8
إعادة المحاولة
- 14 دقيقة
- 5 معايير للتصحيح
- 3 تلميحات
- إلى المطلوب
هدف الدرس
الشبكة تتعثّر، لا تستسلم
01
الشرح
كثير من أخطاء الشبكة عابر: انقطاع لحظي أو خادم مشغول. وإعادة المحاولة مرّتين تُنجح أكثر الطلبات بلا أن يرى المستخدم شيئًا.
حلقة بسيطة تكفي: حاول، فإن فشلت وبقيت محاولات انتظر قليلًا ثم أعد. وإن نفدت المحاولات ارمِ الخطأ الأخير — لا تبتلعه صامتًا.
وانتظر بين المحاولات (تراجع تصاعدي)، لأن الإلحاح على خادم مُنهَك يزيده إنهاكًا.
02
المطلوب
اكتب withRetry(fn, times) تعيد المحاولة حتى النجاح أو نفاد العدد، واعرض عدد المحاولات.
معايير التصحيح
5 معايير- withRetry دالة معرَّفة
- تنجح رغم فشل أول محاولتين
- عدد المحاولات ثلاث
- نفاد المحاولات يرمي الخطأ ولا يبتلعه
- تُرجع قيمة الدالة عند نجاحها من أول مرّة