如何使用generateFunc,如下所示?如何在Hapi.js的server.cache()中使用generateFunc?
server.cache({
expiresIn: 1000*60*60,
segment: 'test',
generateFunc: function(key,next){}
});
我知道generateFunc用來生成一個新的緩存項,如果調用get(當一個人不在緩存中找到) - 直接從API文檔。不過,我仍然不知道如何與generateFunc使用get()()
- 如果我使用get()與generateFunc()時,得到的回調generateFunc的回調(命名爲下一個())?
- 如果我有expiresIn在server.cache中定義,我必須在get的回調和generateFunc的回調中定義ttl嗎?
- 我還在用generateFunc的回調函數(next())來緩存項目嗎?
如果我在類對象中使用以下內容,如何從generateFunc中的構造函數中引用類變量?
class Test { constructor(){ this.testVar = 'hello'; } register(server) { this.server = server; this.testCache = server.cache({ expiresIn: 1000*60*60, segment: 'test', generateFunc: function(key,next){} }); } }
我不明白的流動。我需要一個簡單的示例大綱和解釋,但我找不到任何好的資源。
從文檔:
generateFunc(ID,下一個) - 用於當調用get當一個人沒有在緩存中找到生成一個新的緩存項()的函數。
- id - 提供給get()方法的id字符串或對象。
- 下 - 當新項目與所述簽名功能(ERR,值,TTL)返回調用的方法,其中:
- ERR - 錯誤條件。
- 值 - 生成的新值。
- ttl - 以毫秒爲單位的緩存ttl值。設置爲0跳過緩存中的存儲。默認爲緩存全局策略。
得到(ID,回調),其中:
ID - 唯一的項目標識符。
回調,函數(ERR,價值,緩存,報告),其中:
- ERR - 遇到的任何錯誤。
- 值 - 提取或生成的值。
緩存 - 空,如果一個有效的項目沒有在緩存中,或使用下列鍵對象中發現:
- 項目 - 緩存值。
- 存儲 - 時間戳當項目被存儲在緩存中。
- TTL - 備案緩存TTL值。
- isStale - 如果該項目是過時。
設置(ID,值,TTL,回調),其中:
- ID - 唯一項目標識符
- 值 - 串或要存儲的對象值。
- ttl - 一個以毫秒爲單位的生存時間值,此值自該項目自動從緩存中刪除(或被標記爲無效)。
- 回調 - 帶簽名函數(err)的函數。