【发布时间】:2013-08-10 23:52:55
【问题描述】:
我的解析数据库中有两个类,一个叫做“TrebUser”,另一个叫做“UserImage”,描述如下:
TrebUser
-------------------------------------------------- --
|对象ID |名字 |姓氏 |图片 |
(string) (string) (string) (UserImage ObjectId)
用户图像
------------------------------------
|对象ID |图片 |图片名称 |
(字符串) (文件) (字符串)
对于给定的 TrebUser,我想显示一个配置文件,其中包括他们的名字、姓氏,并显示图像名称(一旦我设法显示图像名称,我将尝试实际显示图像)。我正在尝试使用一个查询来检索 TrebUser,然后使用第二个嵌套查询或承诺(正如我在下面使用的那样)来检索该用户的图像名,然后将该图像名返回到我将打印它的位置屏幕。出于某种原因,它总是以未定义的形式返回,即使当我使用弹出警报时它显示的名称就好了。我认为这与异步执行有关。有什么想法吗?
function getPhoto(i){
var TrebUser = Parse.Object.extend("TrebUser");
var queryTrebUser = new Parse.Query(TrebUser);
var UserImage = Parse.Object.extend("UserImage");
var queryUserImage = new Parse.Query(UserImage);
queryTrebUser.find().then(function(results) {
alert("Successfully retrieved " + results.length + "object");
var object = results[i];
var imageId = object.get('image').id;
queryUserImage.equalTo("objectId", imageId);
return queryUserImage.find();
}).then(function(imageResults) {
var object2 = imageResults[i];
//this alert shows the image 'name' perfectly, however when i return the object2.get('name') it shows
//up as undefined!
alert("Successfully retrieved " + imageResults.length + " object with name " + object2.get('name'));
return object2.get('name');
}, function(error) {
alert("Error: " + error.code + " " + error.message);
});
}
【问题讨论】:
标签: javascript undefined parse-platform