我仍在努力理解 Promise,但由于这里社区的帮助,我已经有了一些进展。
我有一个简单的 JS 函数用来查询 Parse 数据库。它应该返回结果数组,但由于查询的异步性质(因此需要使用 Promise),函数会在结果之前返回,导致我得到一个未定义的数组。
我需要做什么才能让这个函数等待 Promise 的结果呢?
以下是我的代码:
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");
}
});
}