javascript - 函数返回 'undefined'

标签 javascript function undefined

我有一个总是返回“未定义”的 JavaScript 函数。请帮忙。

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 函数未显式返回值,则返回值将始终为未定义。在这种情况下,您的 GetUserInfo() 函数没有 return 语句。 query.find 成功回调中有一个 return 语句,但仅在回调范围内返回,并且不返回父函数的值。

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

尝试单步执行您的函数,并记录查询结果。这将使您更好地了解函数内部发生的情况。

关于javascript - 函数返回 'undefined',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26696274/

相关文章:

C int数组在传递时缩小

javascript - ReactNative Flatlist - RenderItem 不工作

javascript - undefined variable 何时抛出 Uncaught TypeError 而不是仅仅具有值 'undefined' ?

javascript - CloudBoost:CloudObject 中的未定义列

javascript - 如何从 $cookies 获取对象?

javascript - Redux 和 Socket IO 代理错误

C函数没有返回值

javascript - 如何选择这个 Jquery

javascript - Google App Script 中的 .join() 方法有什么作用?

excel - 在单元格错误时保留 Excel 中的先前值