好厲害的庫edge js 實現C 與node js互操作
阿新 • • 發佈:2019-01-23
封裝 task net div 特性 tel write null ofo
異步回調方式
最近在網上閑逛,又發現個好東西,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互操作