我有一个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'
答案 0 :(得分:1)
如果JavaScript函数没有显式返回值,则返回的值将始终为undefined
。在这种情况下,您没有GetUserInfo()
函数的return语句。 query.find
成功回调中有一个return语句,但只返回回调范围内,并且不返回父函数的值。
如果query.find
是同步的,您可以将results
的值分配给在回调函数之外创建的变量。但是,如果query.find
是异步的,则需要等待回调运行并在父函数返回值之前返回。
尝试单步执行您的功能,并记录查询结果。这将使您更好地了解您的功能内部发生了什么。