在不同的功能文件中设置睡眠功能时,通话和非通话睡眠选项似乎不起作用,从而导致以下错误:
01: sleep(25)
<<<< org.graalvm.polyglot.PolyglotException: TypeError: execute on {value={}} failed due to: Message not supported. - <js>.:program(Unnamed:1)
或
* call sleep 25 not a callable feature or js function: [type: MAP, value: {}].
是否可以在称为功能的单独文件中设置此功能,或者是否需要将其放置在使用它的每个文件中?期望是设置一个js,然后在每个文件中调用(似乎是额外的开销)? 我们还在扩展测试并为随机字符串、随机整数和 uuid 创建函数,但我们希望只执行一次,而不是在需要时在每个文件中执行此操作。我们尝试在配置中设置这些,但是在这里发现,这不受支持。
您无需将函数放置在每个功能文件中即可全局使用该函数。您可以创建一个包含 sleep 函数的 JS 文件,并在任何功能文件中使用 call read 来调用您的函数。
使用以下代码创建一个名为 sleep.js 的文件
function (params) {
print("Sleeping for ", params.timeInMs, "ms")
java.lang.Thread.sleep(params.timeInMs)
}
然后在您的功能文件中,您可以像这样调用并使用该函数来休眠 25 秒或您需要的任意时间。
* call read('classpath:sleep.js') { timeInMs: 25000 }