从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时必须遵循以下结构:

边缘