如何使用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)的函数。