调用方式
Functions.cache.getRetryCached(cache, func, ...)
将其记录为名为 Functions.cache.getRetryCached 的依赖项(接受自动补全即可完成),然后按该名称调用。
也接受以前的命名空间 utils 下的名称。
作用
在观测返回非 nil 值后将其缓存;对整个返回元组都为 nil 的观测会重试。使用与 getCached 完全相同的参数键。
参数
| 名称 | 类型 | 作用 |
|---|---|---|
cache | table | nil | 评估缓存;为 nil 时绕过缓存。 |
func | function | string | 要调用的函数或全局函数名称。 |
... | any | 原样转发给被观测函数的参数。 |
返回值
| 1 | ... | 所有原始结果,保留 nil 的位置和返回值数量。 |
|---|
版本
内置辅助函数在每个版本上都会注册。不同的是它们读取的游戏 API;某个 API 缺失时,辅助函数会改用后备方案,或返回 nil 并附上原因。
它不直接读取任何游戏 API。
示例
local name = Functions.cache.getRetryCached(cache, GetSpellInfo, 774)
return name ~= nil依赖项
getCachedInternal→utils.getCachedInternal
源码
Functions/cache.lua,第 173 行。在游戏中为只读;“复制”会生成一份可编辑的副本。
Functions.cache.getRetryCached(cache, func, ...)
return getCachedInternal(cache, false, func, ...)