wretch الرئيسية بدءًا من الإصدار 2.0.0 من البائسnpm i wretch-middlewares <!-- Global variable name : window.wretchMiddlewares -->
< script src =" https://unpkg.com/wretch-middlewares " > </ script >| إزالة التكرار | أعد المحاولة | اختناق ذاكرة التخزين المؤقت | تأخير |
|---|
يمنع وجود طلبات متطابقة متعددة على الطاير في نفس الوقت.
(url, opts) => booleanإذا أعاد التخطي القيمة true، فسيتم تخطي التحقق من إزالة البيانات المكررة.
(url, opts) => stringإرجاع المفتاح الذي يستخدم لتحديد الطلب.
(response: Response) => Responseيتم استدعاء هذه الوظيفة عند حل استجابة الجلب من المكالمات المكررة. بشكل افتراضي، يقوم باستنساخ الاستجابة للسماح بقراءة النص من مصادر متعددة.
import wretch from 'wretch'
import { dedupe } from 'wretch-middlewares'
wretch ( ) . middlewares ( [
dedupe ( {
/* Options - defaults below */
skip : ( url , opts ) => opts . skipDedupe || opts . method !== 'GET' ,
key : ( url , opts ) => opts . method + '@' + url ,
resolver : response => response . clone ( )
} )
] ) . /* ... */ إعادة محاولة الطلب عدة مرات في حالة حدوث خطأ (أو حتى يصبح الشرط المخصص صحيحًا).
millisecondsالموقت بين كل محاولة.
(delay, nbOfAttempts) => millisecondsالوظيفة المخصصة المستخدمة لحساب التأخير الفعلي بناءً على المؤقت وعدد المحاولات.
numberالحد الأقصى لعدد مرات إعادة المحاولة قبل حل الوعد بالخطأ الأخير. تحديد 0 يعني عدد لا نهائي من المحاولات.
(fetchResponse, error) => boolean | Promise<boolean>ستتم إعادة محاولة الطلب حتى يتم استيفاء هذا الشرط.
({ response, error, url, options }) => { url?, options? } || Promise<{url?, options?}>رد الاتصال الذي سيتم تنفيذه قبل إعادة محاولة الطلب. إذا قامت هذه الوظيفة بإرجاع كائن له خصائص عنوان url و/أو خيارات، فسوف تتجاوز القيم الموجودة في الطلب المعاد محاولته. إذا أعاد وعدًا، فسيتم انتظاره قبل إعادة محاولة الطلب.
boolean إذا كان صحيحًا، فسيتم إعادة محاولة الطلب إذا حدث خطأ في الشبكة. سيوفر أيضًا وسيطة "خطأ" لطرق onRetry و until .
(response: Response) => Responseيتم استدعاء هذه الوظيفة عند حل استجابة الجلب من المكالمات المكررة. بشكل افتراضي، يقوم باستنساخ الاستجابة للسماح بقراءة النص من مصادر متعددة.
import wretch from 'wretch'
import { retry } from 'wretch-middlewares'
wretch ( ) . middlewares ( [
retry ( {
/* Options - defaults below */
delayTimer : 500 ,
delayRamp : ( delay , nbOfAttempts ) => delay * nbOfAttempts ,
maxAttempts : 10 ,
until : ( response , error ) => response && response . ok ,
onRetry : null ,
retryOnNetworkError : false ,
resolver : response => response . clone ( )
} )
] ) . /* ... */
// You can also return a Promise, which is useful if you want to inspect the body:
wretch ( ) . middlewares ( [
retry ( {
until : response =>
response . json ( ) . then ( body =>
body . field === 'something'
)
} )
] ) ذاكرة تخزين مؤقت مخبأة تقوم بتخزين استجابات الخادم وتقديمها لفترة معينة من الوقت.
millisecondsسيتم تخزين الاستجابة لهذا القدر من الوقت قبل حذفها من ذاكرة التخزين المؤقت.
(url, opts) => booleanإذا أعاد التخطي القيمة true، فسيتم تخطي التحقق من إزالة البيانات المكررة.
(url, opts) => stringإرجاع المفتاح الذي يستخدم لتحديد الطلب.
(url, opts) => booleanيمسح ذاكرة التخزين المؤقت إذا كان صحيحا.
(url, opts) => string | RegExp | Array<string | RegExp> | nullيزيل عنوان (عناوين) url المطابقة للسلسلة أو RegExp من ذاكرة التخزين المؤقت. يمكن استخدام مصفوفة لإبطال قيم متعددة.
response => booleanإذا كان خطأ، فلن تتم إضافة الاستجابة إلى ذاكرة التخزين المؤقت.
string flagResponseOnCacheHitإذا تم تعيينها، فسيتم وضع علامة على الاستجابة التي يتم إرجاعها من ذاكرة التخزين المؤقت باسم خاصية يساوي هذا الخيار.
import wretch from 'wretch'
import { throttlingCache } from 'wretch-middlewares'
wretch ( ) . middlewares ( [
throttlingCache ( {
/* Options - defaults below */
throttle : 1000 ,
skip : ( url , opts ) => opts . skipCache || opts . method !== 'GET' ,
key : ( url , opts ) => opts . method + '@' + url ,
clear : ( url , opts ) => false ,
invalidate : ( url , opts ) => null ,
condition : response => response . ok ,
flagResponseOnCacheHit : '__cached'
} )
] ) . /* ... */ - تأخير الطلب لفترة زمنية محددة.
millisecondsسيتم تأخير الطلب لهذه المدة.
import wretch from 'wretch'
import { delay } from 'wretch-middlewares'
wretch ( ) . middlewares ( [
delay ( 1000 )
] ) . /* ... */