呼叫方式
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, ...)