为什么原型函数在javascript中什么都不返回?

时间:2013-06-05 15:26:32

标签: javascript prototype

我的javascript原型函数如下;

ServerDataEngine.prototype.ExecuteCommand = function(command)
{
  try 
    {
       var result;
       $.get(command, function (data) {
           result = jQuery.parseJSON(atob(data));
           console.log(result);
       });
       return result;
    }
  catch (Exception) 
    {
       throw (new Exception("Can not connect to server"));
    }
}

我这样称呼这个函数;

ServerDataEngine.prototype.ExecuteQuery = function (query) 
  {
     console.log(this.ExecuteCommand(query));
  }

ExecuteCommand中,一切正常,但在ExecuteQuery中,console.log(this.ExecuteCommand(command))行会产生undefined

有什么问题?

1 个答案:

答案 0 :(得分:3)

您将异步请求视为同步请求。您将在Ajax调用返回值之前返回该值。它无法以这种方式工作。