【问题标题】:Using Edge.js from a C# console application在 C# 控制台应用程序中使用 Edge.js
【发布时间】:2015-07-02 16:58:33
【问题描述】:

我正在尝试做一些看起来很简单的事情,但我无法让它发挥作用。我已经通过 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

我遵循了文档here

有什么想法吗?

【问题讨论】:

    标签: c# node.js edge.js


    【解决方案1】:

    您必须使用回调来发送字符串。你不能只返回字符串。见:

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

    使用 Edge 时必须遵循这个结构:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-14
      • 1970-01-01
      • 2011-04-20
      • 2014-02-17
      • 2019-01-18
      • 2021-11-14
      相关资源
      最近更新 更多