首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用节点模块的edge.js

使用节点模块的edge.js
EN

Stack Overflow用户
提问于 2016-02-24 01:38:10
回答 1查看 202关注 0票数 0

我正在尝试使用edge.js和Visual Studio来实现以下功能:

代码语言:javascript
复制
class Program
{
    public static async void Start()
    {
        var data = 9;
        var func = Edge.Func(File.ReadAllText("do_some_math.js"));
        Console.WriteLine(await func(data));
    }

    static void Main(string[] args)
    {
        Task.Run((Action)Start).Wait();
    }
}

do_some_math.js:

代码语言:javascript
复制
return function (data, callback) {

    var math = require('mathjs');    

    // console.log("result: " + math.sqrt(data));  // works
    callback(null, "result: " + math.sqrt(data));  

}

使用回调时无法获得结果,而使用console.log时,mathjs可以工作。在require('mathjs')之后,回调似乎不起作用。我还尝试了其他模块。这是怎么回事?

EN

回答 1

Stack Overflow用户

发布于 2016-02-25 03:25:11

非常感谢edge.js,他们提供了答案。我想这应该是一个关于C#的问题。他们回答说:

没有得到结果的原因是.NET应用程序在Node.js代码有机会完成之前就退出了。您可以通过将System.Threading.Sleep(5000);作为Main中的最后一条语句来验证它。

正确处理它的方法是将Start的签名修改为

代码语言:javascript
复制
public static async Task Start()

然后在Main中用以下命令调用它:

代码语言:javascript
复制
Start().Wait();
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35584416

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档