json-rules-engine facts 简单说明
facts 实际上就是在rule 引擎执行中需要的数据,facts 数据可以是常量(硬编码的),也可以是动态设置的
参考使用
// constant value facts
let fact = new Fact('apiKey', '4feca34f9d67e99b8af2')
// dynamic facts
let fact = new Fact('account-type', (params, almanac) => {
// ...
// 可以通过配置的参数,或者almanac context 对象,获取一些依赖的数据,之后进行db 数据访问
})
// facts with options:
engine.addFact('account-type', (params, almanac) => {
// ...
}, { cache: false, priority: 500 })
说明
facts 相对简单,核心就是数据的存储,官方有动态处理参数的示例可以看看
参考资料
https://github.com/CacheControl/json-rules-engine/blob/master/docs/facts.md
https://github.com/CacheControl/json-rules-engine/blob/master/examples/03-dynamic-facts.js