Использование Edge.js из консольного приложения C#
Я пытаюсь сделать что-то, что кажется очень простым, но я не могу заставить его работать. Я установил Edge.js через nuget и хочу выполнить часть Javascript из консольного приложения C#. Код из моего 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
,
Я следовал за документацией здесь.
Есть идеи?
1 ответ
Решение
Вы должны использовать обратный вызов для отправки строки. Вы не можете просто вернуть строку. Увидеть:
Edge.Func(@"
return function (data, callback) {
callback(null, 'hello world');
}
");
Вы должны следовать этой структуре при использовании Edge: