-->

从C#控制台应用程序中使用Edge.js(Using Edge.js from a C# conso

2019-10-23 15:10发布

我试图做一些事情,似乎很简单,但我无法得到它的工作。 我已经通过的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

我跟着文档这里 。

有任何想法吗?

Answer 1:

你必须使用回调发送字符串。 你不能只是返回字符串。 看到:

Edge.Func(@"
        return function (data, callback) {
            callback(null, 'hello world');
        }
    ");

您可以使用边缘时遵循这种结构:



文章来源: Using Edge.js from a C# console application