javascript - Parse.com 循环内查询

标签 javascript arrays loops parse-platform

这就是我想做的事情:

  1. 获取一个名为 RecentPlayers 的数组,其中包含 4 个 objectId - 这是有效的。

  2. 对每个 objectId 运行查询以查找其相应的“名称”(字符串)。 - 不工作。

  3. 将这些名称放入一个新数组中,命名为names,缺乏想象力。 - 一旦 #2 工作,这应该工作。

代码:

$(document).ready(function _RP(){
//Our objectId's array
var recentlyPlayed = Parse.User.current().get("RecentPlayers");
//Our names array
var names = [];
//Converting
var User = Parse.Object.extend("User");
var query = new Parse.Query(User);
for (var j = 0; j < recentlyPlayed.length; j++) {
        query.equalTo("objectId", recentlyPlayed[j]);
        query.find({
            success: function(results) {
                var name = results[j].get("name");
                    console.log(name);
                names.push(name);
            },
            error: function(error) {
                alert("Error: " + error.code + " " + error.message);
            }
        });
    }
names = names.sort();

错误:

var name = results[j].get("name");

控制台:

(4) Uncaught TypeError: Cannot read property 'get' of undefined
query.find.succes
(anonymous function)
e 
(anonymous function)
x.each.x.forEach
c.extend.resolve
e
(anonymous function)
x.each.x.forEach
c.extend.resolve
e
(anonymous function)
x.each.x.forEach
c.extend.resolve
(anonymous function) 
e
(anonymous function)
g
c.extend.then
e
(anonymous function)
x.each.x.forEach
c.extend.resolve
j.onreadystatechange

我猜这与 Parse.com 的异步特性有关。感谢您的帮助!

最佳答案

在本例中,query.containedIn可能是更合适的约束。尝试以下代码片段:

var query = new Parse.Query(Parse.User);
query.containedIn("objectId", recentlyPlayed);
query.find().then(function(users) {
   for(var i=0; i < users.length; i++) {
       names.push(users[i].get("name"));
   }
    names.sort();
});

关于javascript - Parse.com 循环内查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27433392/

相关文章:

jQuery 从列表中获取 img 源属性并推送到数组中

javascript - 对本地文件系统的 AJAX 请求在 Chrome 中不起作用?

javascript - 在 MVC3 View 中使用 AJAX 更新字段

c - 意外的无限循环数组 c

css - GruntJS:Autoprefixer 循环遍历所有 CSS 文件

python - 要求用户提供输入,直到他们给出有效的答复

javascript - 绘制折线图 - 多条线

关于 form.elements 的 JavaScript

arrays - Haskell 中具有高性能的可变、随机访问数组/向量

c - 数组到c中的参数