升级了1.43.8版本后,改为Jint库,原有的脚本还兼容吗

使用问题 · 2656 次浏览
~ZYS~ 创建于 2024-07-05 10:17
升级了1.43.8版本后,运行Javascript代码改为Jint库,原有的脚本还兼容吗?
升级后之前可以跑的脚本,然后报错了
异常:Script has allocated 614815640 but is limited to 4000000
在 Jint.Runtime.Interpreter.JintStatementList.HandleException(EvaluationContext context, Exception exception, JintStatement s) 在 Jint.Runtime.Interpreter.JintStatementList.Execute(EvaluationContext context) 在 Jint.Native.Function.ScriptFunction.Call(JsValue thisObject, JsValue[] arguments) 在 Jint.Engine.<>c__DisplayClass112_0.<Invoke>g__DoInvoke|0() 在 Jint.Engine.ExecuteWithConstraints[T](Boolean strict, Func`1 callback) 在 Quicker.Domain.Actions.X.BuiltinRunners.Other.RunJsScriptStep.<>c__DisplayClass42_0.FGtcwGM3wQb() 在 Quicker.Domain.Actions.X.XActionHelper.ExecuteCommonAction(ActionExecuteContext context, ActionStep step, XAction action, Func`1 actionFunc, Action successAction, Action failAction, StepInParamDef stopIfErrorParam, StepOutParamDef isSuccessOutputParam)
步骤(sys:jsscript)执行失败,原因:Script has allocated 614815640 but is limited to 4000000

回复内容
CL 2024-07-05 10:18
#1

新的库支持限定内存,目前默认限制了4M。 这里的报错是因为脚本分配内存太多了,614M? 是什么脚本啊

~ZYS~ 回复 CL 2024-07-05 10:21 :

脚本代码很少,作用主要是把CSV数据转成了表格变量,可能CSV数据比较大

~ZYS~ 回复 CL 2024-07-05 10:22 :

但是之前的版本可以正常运行;或者有没有什么办法把限制给打开一下

CL 回复 ~ZYS~ 2024-07-05 10:22 :

嗯,我再考虑下

Xanwus 回复 CL 2024-07-09 14:58 :

今天从1.43.6更新后,发现涉及Javascript代码的动作用不了了...原先是正常的,需要作何修改呢?



CL 回复 Xanwus 2024-07-09 15:05 :

你的js代码缺少返回值,需要返回0表示成功,参考模块文档里的说明。

Xanwus 回复 CL 2024-07-09 15:17 :

补充return 0了,运行正常了。

我是不懂代码,让GPT帮我写的,更新前我用了好长时间都正常,难道是更新修复了不加return 0也能运行正常的bug?哈哈

CL 回复 Xanwus 2024-07-09 15:22 :

哈哈,是的~ 等看看能不能再加个判断兼容一下。

~ZYS~ 回复 Xanwus 2024-07-10 00:01 :

我也有个动作,之前返回true和false正常运行,然后升级后报错了,问了ai说要改成返回1和0,改了之好了

回复主贴