好厉害的库edge js 实现C 与node js互操作
Posted swdhywhd
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了好厉害的库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);
});
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
上面在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"));
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
唯一别扭的是这一点,NodeJS里无法直接调用.NET的方法,必须用封装成Func<object,Task<object>>
异步回调方式
看别人写的这一篇展示的更加完美
Edge实现NodeJS与.NET互操作(包括UI界面示例)
再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow
以上是关于好厉害的库edge js 实现C 与node js互操作的主要内容,如果未能解决你的问题,请参考以下文章
Lambda@Edge 函数的 Node.Js 301 url-rewrite 问题