2014-01-29 5 views
0

Так что я делаю простой запрос для объекта, и мне просто интересно, почему, когда я вызываю метод .find() в объекте запроса, он возвращает успех, хотя его пустая массив? Вот пример моего кода.Parse.com Query дает успех даже мысль пустой набор возвращается

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 было для. Любая помощь будет оценена по достоинству.

ответ

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); 

}}); 

Таким образом, если вы получаете пустой массив, выполняйте требуемые операции только с помощью метода успеха.

+0

Хорошо, что я предполагал, что это должно быть. Спасибо за ответ – David

Смежные вопросы