gpt4 book ai didi

javascript - Parse.com 循环内查询

转载 作者:行者123 更新时间:2023-12-03 11:13:54 25 4
gpt4 key购买 nike

这就是我想做的事情:

  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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com