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) => booleanWenn „skip“ „true“ zurückgibt, wird die Deduplizierungsprüfung übersprungen.
(url, opts) => stringGibt einen Schlüssel zurück, der zur Identifizierung der Anfrage verwendet wird.
(response: Response) => ResponseDiese 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).
millisecondsDer Timer zwischen jedem Versuch.
(delay, nbOfAttempts) => millisecondsDie benutzerdefinierte Funktion, die verwendet wird, um die tatsächliche Verzögerung basierend auf dem Timer und der Anzahl der Versuche zu berechnen.
numberDie 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) => ResponseDiese 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.
millisecondsDie Antwort wird für diesen Zeitraum gespeichert, bevor sie aus dem Cache gelöscht wird.
(url, opts) => booleanWenn „skip“ „true“ zurückgibt, wird die Deduplizierungsprüfung übersprungen.
(url, opts) => stringGibt einen Schlüssel zurück, der zur Identifizierung der Anfrage verwendet wird.
(url, opts) => booleanLöscht den Cache, wenn wahr.
(url, opts) => string | RegExp | Array<string | RegExp> | nullEntfernt URL(s), die mit der Zeichenfolge oder RegExp übereinstimmen, aus dem Cache. Kann ein Array verwenden, um mehrere Werte ungültig zu machen.
response => booleanBei „false“ wird die Antwort nicht zum Cache hinzugefügt.
stringWenn 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.
millisecondsDie Anfrage verzögert sich um diesen Zeitraum.
import wretch from 'wretch'
import { delay } from 'wretch-middlewares'
wretch ( ) . middlewares ( [
delay ( 1000 )
] ) . /* ... */