javascript - 使用 GraalVM 将变量参数从 javascript 传递给 java 函数

标签 javascript java node.js corda graalvm

我正在尝试调用 Corda RPC 中可用的函数 startTrackedFlowDynamic 它接受 2 个参数: startTrackedFlowDynamic(logicType: Class<out FlowLogic<T>>, vararg args: Any?)打包在一个 JAR 中

此函数的调用是从 Javascript 上下文 进行的(使用 GraalVM 来实现),我想调用此函数并将从请求对象(例如,即将到来)获得的参数传递给它来自 REST API)

例子: 如果请求包含数组 [::InitiatorA, iouValue] , 我想像这样调用 startTrackedFlowDynamic: startTrackedFlowDynamic(::InitiatorA, iouValue)

如果请求包含数组 [::InitiatorB, abc, xyz] 我想像这样调用 startTrackedFlowDynamic: startTrackedFlowDynamic(::InitiatorB, abc, xyz)

如果请求包含数组 [::InitiatorC] 我想像这样调用 startTrackedFlowDynamic: startTrackedFlowDynamic(::InitiatorC)

TLDR:我想将其作为通用 API,而不是为每个不同的 Flow 调用重新编写。 我希望能够将来自请求对象的动态数量的参数传递给此函数,而不是硬编码固定数量的参数并在参数数量更改时必须更新它

我要复制的行为的示例:

var func = function () {
    console.log(arguments.length);
    for (var i = 0; i < arguments.length; i++) {
        console.log(arguments[i]);
    }
};

func.apply(null, ['::InitiatorA', 'abc', 'xyz'])

有什么建议吗?

最佳答案

它似乎适用于以下 JavaScript 语法

var argsArray = ['::InitiatorA', 'abc', 'xyz']
startTrackedFlowDynamic(...argsArray)

关于javascript - 使用 GraalVM 将变量参数从 javascript 传递给 java 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53337746/

相关文章:

java - Web服务客户端找不到wsdl

java - 编码大型附件时出现内存不足错误

node.js - Mongoose:用 Promise 编写自己的方法

javascript - 当 jquery 包含在其他 javascript 文件之前时,它不会加载

javascript - 无法获取tr内容

javascript - 如何在 javascript highchart 中实现 z 索引

java - 如何确定图形字符串的长度?

javascript - 将 Javascript 参数传递给 Node.js

node.js - 使用 Fetch API 重新调整的 POST 请求不起作用

javascript - 从远程域设置 cookie 以进行本地开发