所以我正在对一个对象进行一个简单的查询,我只是想知道为什么当我在查询对象上调用.find()方法时它返回成功,即使它是一个空数组?这是我的代码示例。
var HuntObject = Parse.Object.extend("HuntObject",{
defaults: {
title: "hunt",
startDate: "",
endDate: "",
prize: "",
players: [],
items: []
}
});
var huntinfo = new Parse.Query(HuntObject);
var user = Parse.User.current().get("username");
huntinfo.notEqualTo("players" , user);
huntinfo.equalTo("title", huntItem);
huntinfo.find({
success: function(results) {
console.log("results")
控制台日志会给我结果= [] 我想我可以检查结果是否是一个空数组然后从那里开始,但我认为这就是使用.find的原因。任何帮助,将不胜感激。
答案 0 :(得分:7)
parse.com也不会抛出错误。
即使没有检索到任何结果,如果查找已经正确执行,查找查询将始终采用成功方法。
您可以使用错误代码检查错误。
var GameScore = Parse.Object.extend("GameScore");
var query = new Parse.Query(GameScore);
query.equalTo("playerName", "Dan Stemkoski");
query.find({
success: function(results) {
alert("Successfully retrieved " + results.length + " scores.");
// Do something with the returned Parse.Object values
for (var i = 0; i < results.length; i++) {
var object = results[i];
alert(object.id + ' - ' + object.get('playerName'));
}
},
error: function(error) {
alert("Error: " + error.code + " " + error.message);
}});
因此,如果您获得一个空数组,则仅在success方法中执行所需的操作。
答案 1 :(得分:-1)
try
var HuntObject = Parse.Object.extend("_HuntObject...