Chame como
Functions.cache.getRetryCached(cache, func, ...)
Registre-a como uma dependência chamada Functions.cache.getRetryCached (aceitar o preenchimento automático faz isso) e depois chame-a por esse nome.
Também aceita sob o antigo namespace utils.
O que faz
Guarda uma observação em cache depois que ela retorna um valor não nil; tenta de novo as observações cuja tupla de retorno inteira é nil. Usa as mesmas chaves de argumentos exatas que getCached.
Argumentos
| Nome | Tipo | O que faz |
|---|---|---|
cache | table | nil | Cache de avaliação, ou nil para ignorar o cache. |
func | function | string | Função ou nome de função global a chamar. |
... | any | Argumentos repassados sem alteração para a função observada. |
Retornos
| 1 | ... | Todos os resultados originais, preservando as posições nil e a quantidade de retornos. |
|---|
Edições
As funções auxiliares integradas são registradas em todas as edições. O que muda é a API do jogo que elas leem; quando uma está ausente, a função auxiliar recorre a uma alternativa ou retorna nil com um motivo.
Não lê nenhuma API do jogo diretamente.
Exemplo
local name = Functions.cache.getRetryCached(cache, GetSpellInfo, 774)
return name ~= nilDependências
getCachedInternal→utils.getCachedInternal
Código-fonte
Functions/cache.lua, linha 173. Somente leitura no jogo; Duplicar cria uma cópia editável.
Functions.cache.getRetryCached(cache, func, ...)
return getCachedInternal(cache, false, func, ...)