函数返回'未定义'

Function return 'undefined'

本文关键字:未定义 返回 函数      更新时间:2023-09-26

我有一个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'

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

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

尝试逐步执行您的函数,并记录查询结果。这会让你更好地了解你的职能内部发生了什么。