Saltar al contenido principal

NetworkManager

NetworkManager orquesta los fetches asíncronos. Al llevar el registro de todas las peticiones en curso, puede deduplicar peticiones idénticas cuando se realizan con la bandera throttle.

implements

NetworkManager implements Manager

Ciclo de vida​

Éxito​

Error​

Miembros​

constructor({ dataExpiryLength = 60000, errorExpiryLength = 1000 })​

Los argumentos representan el tiempo predeterminado (en milisegundos) antes de que un recurso se considere 'obsoleto'.

middleware​

Acciones consumidas​

Iniciará la petición de red y luego hará dispatch al completarse.

Acciones procesadas​

Acciones despachadas​

allSettled(): Promise​

Se resuelve cuando todos los fetches en curso han terminado. Conceptualmente equivale a Promise.allSettled

skipLogging(action)​

Lo usa DevtoolsManager para determinar si se debe registrar una acción

Valor predeterminado:

skipLogging(action: ActionTypes) {
return action.type === FETCH && action.meta.key in this.fetched;
}

Miembros protegidos​

handleFetch(fetchAction)​

Se llama cuando el middleware intercepta la acción 'rdc/fetch'.

Luego inicia una promesa para una clave y, potencialmente, inicia el fetch de red.

Usa throttle solo cuando la meta de la acción lo indica. Esto es valioso para garantizar que las peticiones de mutación siempre se realicen.

handleSet(setAction)​

Se llama cuando el middleware intercepta una acción set.

Luego resuelve la promesa asociada a la clave del set.

throttle(key, fetch)​

Garantiza que solo haya una petición en curso para una clave dada en cualquier momento.

Usa la clave para recuperar la promesa en curso o, si no existe, crear una nueva promesa y llamar a fetch.

getLastReset(): number​

Marca de tiempo de la última vez que se reinició todo el store

clear(key)​

Limpia el estado de la promesa para una clave dada

clearAll()​

Garantiza que todas las promesas se completen rechazando las restantes