【问题标题】:How can get error text in Edgejs in c# when run a JS function?运行 JS 函数时,如何在 c# 中的 Edgejs 中获取错误文本?
【发布时间】:2016-05-10 17:03:40
【问题描述】:

我想在控制台应用程序的 c# 平台中运行一些 JavaScript 文件, 例如:

using System;
using System.Threading.Tasks;
using EdgeJs;

class Program
{
    public static async Task Start()
    {
        var func = Edge.Func(@"
            return function (data, callback) {
                var hello = function() { 
                      // some javascript syntax error ... 
                      return ' Hello ' + data;
                    };
                callback(null, hello());
             }
         ");

        Console.WriteLine(await func("Word!"));
    }

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

但是当我的 js 函数出现错误时,它不会给我任何错误文本或提示来检测我的错误。

那么在运行 JS 函数时如何在 c# 中的 Edgejs 中获取错误文本?

【问题讨论】:

    标签: javascript c# node.js edgejs


    【解决方案1】:

    一种方法可以是:

     using System;
     using System.Threading.Tasks;
     using EdgeJs;
    
      class Program
      {
        public static async Task Start()
       {
         var func = Edge.Func(@"
         return function (data, callback) {
         var error = '';
         var hello = function() { 
         try{
                 some javascript syntax error .... 
                 return 'Hello ' + data;
         }catch(e){ error = e;}
                 };
         var result = hello();
         if(error == '')
         {
              callback(null, result );
         } else { 
                   callback(null, error);
                }
         }
        ");
    
         Console.WriteLine(await func("Word!"));
       }
    
      static void Main(string[] args)
      {
          Start().Wait();
      }
    }
    

    我的意思是在我的 js 代码中使用 try catch,但如果可以在不更改 js 代码的情况下使用其他方式,那就太好了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-04-15
      • 2011-02-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多