Llamar como
Functions.cache.getRetryCached(cache, func, ...)
Regístrala como dependencia con el nombre Functions.cache.getRetryCached (aceptar la sugerencia de autocompletado lo hace por ti) y luego llámala con ese nombre.
También se acepta con el antiguo espacio de nombres utils.
Qué hace
Guarda en caché una observación después de que devuelva un valor no nil; reintenta las observaciones cuya tupla de retorno completa es nil. Usa las mismas claves de argumentos exactas que getCached.
Argumentos
| Nombre | Tipo | Qué hace |
|---|---|---|
cache | table | nil | Caché de evaluación, o nil para no usar caché. |
func | function | string | Función o nombre de función global que se llamará. |
... | any | Argumentos que se pasan sin cambios a la función observada. |
Retornos
| 1 | ... | Todos los resultados originales, conservando las posiciones nil y el número de retornos. |
|---|
Ediciones
Las funciones auxiliares integradas se registran en todas las ediciones. Lo que cambia es la API del juego que leen; donde falta alguna, la función auxiliar recurre a una alternativa o devuelve nil con un motivo.
No lee directamente ninguna API del juego.
Ejemplo
local name = Functions.cache.getRetryCached(cache, GetSpellInfo, 774)
return name ~= nilDependencias
getCachedInternal→utils.getCachedInternal
Código fuente
Functions/cache.lua, línea 173. Solo lectura en el juego; Duplicar crea una copia editable.
Functions.cache.getRetryCached(cache, func, ...)
return getCachedInternal(cache, false, func, ...)