Pular para o conteúdo principal

NetworkManager

O NetworkManager orquestra fetches assíncronos. Ao rastrear todas as requisições em andamento, ele consegue deduplicar requisições idênticas quando elas são feitas com a flag throttle.

implements

NetworkManager implementa Manager

Ciclo de vida​

Sucesso​

Erro​

Membros​

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

Os argumentos representam o tempo padrão (em milissegundos) antes de um recurso ser considerado 'desatualizado'.

middleware​

Actions consumidas​

Iniciará a requisição de rede e, ao concluir, fará o dispatch.

Actions processadas​

Actions despachadas​

allSettled(): Promise​

Resolve quando todos os fetches em andamento forem concluídos. Conceitualmente equivale a Promise.allSettled

skipLogging(action)​

Usado pelo DevtoolsManager para determinar se uma action deve ser registrada em log

Padrão:

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

Membros protegidos​

handleFetch(fetchAction)​

Chamado quando o middleware intercepta a action 'rdc/fetch'.

Em seguida, inicia uma promise para uma key e, possivelmente, inicia o fetch de rede.

Usa throttle somente quando instruído pelo meta da action. Isso é útil para garantir que as requisições de mutação sempre sejam executadas.

handleSet(setAction)​

Chamado quando o middleware intercepta uma action set.

Resolverá a promise associada à key do set.

throttle(key, fetch)​

Garante que apenas uma requisição para uma determinada key esteja em andamento a qualquer momento.

Usa a key para recuperar a promise em andamento ou, se não houver, criar uma nova promise e chamar fetch.

getLastReset(): number​

Timestamp da última vez em que o store inteiro foi resetado

clear(key)​

Limpa o estado da promise para uma determinada key

clearAll()​

Garante que todas as promises sejam concluídas rejeitando as restantes