Skip to content

रीट्राई और मेमोरी कैश

createRetryMiddleware

घातांकी बैकऑफ़ + जिटर। विकल्प: फ़ैक्टरी डिफ़ॉल्ट + ctx.request.retry का उथला मर्ज।

विकल्पडिफ़ॉल्ट
maxAttempts3कुल प्रयास
baseDelayMs300
maxDelayMs30000
factor2
retryOnStatus408,429,500,502,503,504
retryOnNetworkErrortrue
retryNonIdempotentMethodsfalsefalse होने पर GET/HEAD/OPTIONS/TRACE ही
shouldRetryवैकल्पिक कस्टम गेट

ERR_CANCELED पर रीट्राई नहीं। POST/PUT आदि के लिए: retry: { retryNonIdempotentMethods: true }

MemoryCacheStore + createCacheMiddleware

ts
const store = new MemoryCacheStore({ maxEntries: 500 });
createCacheMiddleware(store, {
  ttlMs: 60_000,
  staleWhileRevalidateMs: 0,
  methods: ["GET", "HEAD"],
  varyHeaderNames: ["authorization", "cookie"],
});
  • डिफ़ॉल्ट कुंजी: METHOD पूर्णURL
  • memoryCache.skip पढ़ना/लिखना छोड़ता है।
  • प्रति-अनुरोध ttlMs / staleWhileRevalidateMs
  • Stale-while-revalidate: TTL के बाद पुराना जवाब देकर पृष्ठभूमि में dispatch

आगे

MIT · @hamdymohamedak/openfetch