المعترضات والوسيط
دورة حياة الطلب (مختصر)
- دمج الافتراضيات + إعداد الاستدعاء.
- تشغيل معترضات الطلب على الإعداد.
- بناء
OpenFetchContext(url،request،response،error). - تشغيل مكدس الوسيط؛ الطبقة الداخلية تستدعي
dispatch(fetch+ تحليل +validateStatus+ تحويلات الاستجابة). - تشغيل معترضات الاستجابة على الاستجابة الناجحة.
- إرجاع الاستجابة الكاملة أو
dataإن وُجدunwrapResponse.
راجع openFetch/docs/PROJECT_FLOW.md في مستودع الحزمة للمخطط.
المعترضات
كل عميل يوفّر:
ts
client.interceptors.request.use(fulfilled?, rejected?);
client.interceptors.response.use(fulfilled?, rejected?);الترتيب:
- الطلب: تُنفَّذ المعالجات آخر تسجيل أولاً (LIFO).
- الاستجابة: أول تسجيل أولاً (FIFO).
الوسيط
ts
type Middleware = (
ctx: OpenFetchContext,
next: NextFn
) => Promise<void>;ctx.request— الإعداد النهائي المدمج لهذه الجولة.ctx.response— يضبطهdispatch(أو وسيط) عند النجاح.ctx.error— عند الفشل؛ يعيد العميل الرمي إن لم يبقَresponseبعد المكدس.
التسجيل:
ts
client.use(async (ctx, next) => {
await next();
});client.use يدفع إلى defaults.middlewares.
الترتيب
الوسيط الخارجي يعمل أولاً عند الدخول. الترتيب مهم للتخزين المقابل لإعادة المحاولة — راجع إعادة المحاولة والتخزين المؤقت.
مصانع الوسيط المدمجة
createRetryMiddleware(options?)createCacheMiddleware(store, options?)
