好厉害的库edge.js!实现C#与node.js互操作

最近在网上闲逛,又发现个好东西,edge.js
这个库可以让node.js 调用 C# 的代码,还可以让 C# 调用node.js 的代码,看到这里,只问你服不服?反正我是很惊叹了……
不过edge.js也有个限制,必须是.net 4.5 以上才可以用,因为使用了一些.net 新特性Task,asyn,await,这些特性正好对应node.js的异步回调

来自edge.js官网的例子,node.js 调用 C#

var edge = require('edge');

var hello = edge.func(function () {/*
    async (input) => { 
        return ".NET welcomes " + input.ToString(); 
    }
*/});

hello('Node.js', function (error, result) {
    if (error) throw error;
    console.log(result);
});

上面在javascript 的函数体内部执行了一段C#代码,是不很神奇?

接着是官网的另一个例子,在C#中调用node.js

using EdgeJs;

public static async void Start() 
{
    var func = Edge.Func(@"
        return function (data, cb) {
            cb(null, 'Node.js ' + process.version + ' welcomes ' + data);
        }
    ");

    Console.WriteLine(await func(".NET"));
}

唯一别扭的是这一点,NodeJS里无法直接调用.NET的方法,必须用封装成Func<object,Task<object>>异步回调方式

看别人写的这一篇展示的更加完美
Edge实现NodeJS与.NET互操作(包括UI界面示例)

  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值