从C#控制台应用程序中使用Edge.js
我正在尝试做一些看起来很简单的事情,但是我无法让它工作。 我已经通过nuget安装了Edge.js,我想从C#控制台应用程序中执行一段JavaScript。 从我的public static void main
代码如下:
Task.Run(async () => { Console.WriteLine( await Edge.Func("return function() { return 'hello world'; }")(null).Result ); }).Wait();
我运行的应用程序,它所做的是挂起。
我试过这个:
Console.WriteLine(Edge.Func("return function() { return 'hello'; }")(null).Result);
同样的结果。 这也是…
var task = Edge.Func("return function() { return 'hello'; }")(null); await task; Console.WriteLine(task.Result);
同样的结果。 挂…
我也尝试了RunSynchronously()
而不是等待,这给了我一个InvalidOperationException
。
我在这里跟着文档。
有任何想法吗?
你必须使用callback来发送string。 你不能只返回string。 看到:
Edge.Func(@" return function (data, callback) { callback(null, 'hello world'); } ");
使用Edge时必须遵循以下结构: