函数返回' undefined'

时间:2014-11-02 05:13:18

标签: javascript function undefined

我有一个javascript函数,它始终返回' undefined'。请帮忙。

function GetUserInfo()
{
    Parse.Cloud.useMasterKey();
    var result;
    var query = new Parse.Query("UserInfo");
    query.equalTo("UserID", "1234");
    var run = query.find({
    success: function(results) {    
        result = results;
    },
    error: function(error) {
        result = error;
    }
  }); // find       
    return result;          
}

   var item = GetUserInfo();       // always return 'undefined'

1 个答案:

答案 0 :(得分:1)

如果JavaScript函数没有显式返回值,则返回的值将始终为undefined。在这种情况下,您没有GetUserInfo()函数的return语句。 query.find成功回调中有一个return语句,但只返回回调范围内,并且不返回父函数的值。

如果query.find是同步的,您可以将results的值分配给在回调函数之外创建的变量。但是,如果query.find是异步的,则需要等待回调运行并在父函数返回值之前返回。

尝试单步执行您的功能,并记录查询结果。这将使您更好地了解您的功能内部发生了什么。