从ClearScript迁移到ChackraCore。如何使用参数调用函数?

时间:2019-05-14 16:44:21

标签: javascript c# .net-core clearscript chakracore

我从.Net Framework迁移到.Net Core,并想将ClearScript.V8更改为JavaScriptEngineSwitcher.ChakraCore。 我有一个像这样的脚本:

var main=function(e){function t(n){if(r[n])return r[n].exports; etc...

在ClearScript中,此函数调用如下:

public string Execute(object[] args)
{
     return Engine.Script.main.main(args).ToString();
}

在ChakraCore中,我仅找到CallFunction方法:

public string Execute(object[] args)
{
     return Engine1.CallFunction<string>("main", args);
}

但是它不起作用。我捕获到异常JavaScriptEngineSwitcher.Core.JsUsageException:“参数无效”。 内部object []带有1个元素的args数组-JSON字符串。

我试图评估函数是否抛出包装:

Engine1.Evaluate<string>("var funcWrapper = function(e) { return main(JSON.parse(e)); };");

它也不起作用。如何调用该函数并获得响应? 也许我需要使用另一个跨平台引擎?

0 个答案:

没有答案