Я все еще борюсь с обещаниями, но добиваюсь некоторого прогресса благодаря сообществу здесь.
У меня есть простая функция JS, которая запрашивает базу данных Parse. Предполагается, что он должен возвращать массив результатов, но, очевидно, из-за асинхронного характера запроса (отсюда и обещания), функция возвращает до результатов, оставляя мне неопределенный массив.
Что мне нужно сделать, чтобы эта функция ожидала результата обещания?
Вот мой код:
function resultsByName(name)
{
var Card = Parse.Object.extend("Card");
var query = new Parse.Query(Card);
query.equalTo("name", name.toString());
var resultsArray = [];
var promise = query.find({
success: function(results) {
// results is an array of Parse.Object.
console.log(results);
//resultsArray = results;
return results;
},
error: function(error) {
// error is an instance of Parse.Error.
console.log("Error");
}
});
}