在浏览器端利用Function进行规则测试 - 前端监控
规则报警是监控系统最常用的功能之一, 如何简单正确的设定规则尤为重要, 那么如何在规则运行前就知道规则设置的正确与否呢?那就需要我们对规则进行一些必要的测试
Function
Function
构造函数创建一个新的 Function
对象。直接调用此构造函数可用动态创建函数,但会遭遇来自 eval
的安全问题和相对较小的性能问题。然而,与 eval 不同的是,Function 构造函数只在全局作用域中运行。
new Function ([arg1[, arg2[, ...argN]],] functionBody)
可以包含若干参数, 最后一个入参为function主体代码
我们可以利用Function构造函数,在浏览器对规则代码和测试数据进行预运行, 并尽早的发现问题
使用场景
我们包含了code
和 测试数据
两块
利用Function构造一个测试函数
let fun = new Function("data", "logger", "utils", "result", this.notifyForm.code)
try{
let rst = fun(context.data, context.logger, context.utils,context.result)
this.logger.info(`执行成功, \n 结果为 ${JSON.stringify(context.result)}`)
} catch(e){
this.logger.error("执行错误:" + e.message)
}
标题:在浏览器端利用Function进行规则测试 - 前端监控
作者:hugh0524
地址:https://blog.uproject.cn/articles/2020/01/09/1578540699309.html
0 0