【发布时间】:2019-04-19 15:15:12
【问题描述】:
我正在尝试调用 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'])
有什么建议吗?
【问题讨论】:
-
我建议在示例中使用
console.log而不是alert- 它不那么烦人
标签: javascript java node.js corda graalvm