wretch
integriertnpm i wretch-middlewares
<!-- Global variable name : window.wretchMiddlewares -->
< script src =" https://unpkg.com/wretch-middlewares " > </ script >
Entduplizieren | Wiederholen | Drosselnder Cache | Verzögerung |
---|
Verhindert, dass mehrere identische Anfragen gleichzeitig vorliegen.
(url, opts) => boolean
Wenn „skip“ „true“ zurückgibt, wird die Deduplizierungsprüfung übersprungen.
(url, opts) => string
Gibt einen Schlüssel zurück, der zur Identifizierung der Anfrage verwendet wird.
(response: Response) => Response
Diese Funktion wird aufgerufen, wenn die Abrufantwort von doppelten Aufrufen aufgelöst wird. Standardmäßig wird die Antwort geklont, um das Lesen des Textkörpers aus mehreren Quellen zu ermöglichen.
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 ( )
} )
] ) . /* ... */
Wiederholt eine Anfrage im Falle eines Fehlers mehrmals (oder bis eine benutzerdefinierte Bedingung wahr ist).
milliseconds
Der Timer zwischen jedem Versuch.
(delay, nbOfAttempts) => milliseconds
Die benutzerdefinierte Funktion, die verwendet wird, um die tatsächliche Verzögerung basierend auf dem Timer und der Anzahl der Versuche zu berechnen.
number
Die maximale Anzahl von Wiederholungen, bevor das Versprechen mit dem letzten Fehler aufgelöst wird. Die Angabe von 0 bedeutet unendliche Wiederholungsversuche.
(fetchResponse, error) => boolean | Promise<boolean>
Die Anfrage wird wiederholt, bis diese Bedingung erfüllt ist.
({ response, error, url, options }) => { url?, options? } || Promise<{url?, options?}>
Rückruf, der ausgeführt wird, bevor die Anfrage erneut versucht wird. Wenn diese Funktion ein Objekt mit URL- und/oder Optionseigenschaften zurückgibt, überschreiben diese vorhandene Werte in der wiederholten Anfrage. Wenn ein Promise zurückgegeben wird, wird es abgewartet, bevor die Anfrage erneut versucht wird.
boolean
Wenn „true“, wird die Anfrage erneut versucht, wenn ein Netzwerkfehler ausgelöst wurde. Stellt außerdem ein „Fehler“-Argument für die Methoden onRetry
und until
bereit.
(response: Response) => Response
Diese Funktion wird aufgerufen, wenn die Abrufantwort von doppelten Aufrufen aufgelöst wird. Standardmäßig wird die Antwort geklont, um das Lesen des Textkörpers aus mehreren Quellen zu ermöglichen.
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'
)
} )
] )
Ein Drosselcache, der Serverantworten für einen bestimmten Zeitraum speichert und bereitstellt.
milliseconds
Die Antwort wird für diesen Zeitraum gespeichert, bevor sie aus dem Cache gelöscht wird.
(url, opts) => boolean
Wenn „skip“ „true“ zurückgibt, wird die Deduplizierungsprüfung übersprungen.
(url, opts) => string
Gibt einen Schlüssel zurück, der zur Identifizierung der Anfrage verwendet wird.
(url, opts) => boolean
Löscht den Cache, wenn wahr.
(url, opts) => string | RegExp | Array<string | RegExp> | null
Entfernt URL(s), die mit der Zeichenfolge oder RegExp übereinstimmen, aus dem Cache. Kann ein Array verwenden, um mehrere Werte ungültig zu machen.
response => boolean
Bei „false“ wird die Antwort nicht zum Cache hinzugefügt.
string
Wenn diese Option festgelegt ist, wird eine aus dem Cache zurückgegebene Antwort mit einem Eigenschaftsnamen gekennzeichnet, der dieser Option entspricht.
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'
} )
] ) . /* ... */
Verzögert die Anfrage um eine bestimmte Zeitspanne.
milliseconds
Die Anfrage verzögert sich um diesen Zeitraum.
import wretch from 'wretch'
import { delay } from 'wretch-middlewares'
wretch ( ) . middlewares ( [
delay ( 1000 )
] ) . /* ... */