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.
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