使用函数将数组传递给AngularJS控制器时没有数据通过

使用函数将数组传递给AngularJS控制器时没有数据通过,angularjs,parse-platform,angularjs-controller,Angularjs,Parse Platform,Angularjs Controller,我正在开发一个angularjs应用程序,它使用parse创建一个名称数组。然后我将该数组传递给一个控制器,我在html中使用它。我的问题是没有数据通过,我不知道为什么。我已经测试了我的解析连接,它工作正常,我测试了我的控制器,它正确地传递数据。只有当我将两者结合起来时,它才会停止工作 parse.js function playerNames() { Parse.$ = jQuery; Parse.initialize("my key", "my key"); var names = n

我正在开发一个angularjs应用程序,它使用parse创建一个名称数组。然后我将该数组传递给一个控制器,我在html中使用它。我的问题是没有数据通过,我不知道为什么。我已经测试了我的解析连接,它工作正常,我测试了我的控制器,它正确地传递数据。只有当我将两者结合起来时,它才会停止工作

parse.js

function playerNames() {

Parse.$ = jQuery;

Parse.initialize("my key", "my key");

var names = new Array();
var GameScore = Parse.Object.extend("GameScore");
var query = new Parse.Query(GameScore);
query.find({
    success: function (results) {
        for (var i in results){
            var name = results[i].get("playerName");
            alert(name);
            names.push(name);
        }
        return names;
    },
    error: function (error) {
        alert(error.message);
        return names;
    }});
};  
app.controller('NameController', ['$scope', function($scope) {$scope.names = playerNames()}]);
index.html

<div class="main" ng-controller="NameController">
<div class="container">
    <table class="table table-hover">
        <thead>
        <tr>
            <th>Name</th>
        </tr>
        </thead>
        <tbody>
        <tr ng-repeat="n in names">
            <td>{{ n }}</td>
        </tr>
        </tbody>
    </table>
</div>
</div>

名称
{{n}}

playerNames()
不返回任何内容我不知道你的意思。我将返回语句放在query.find中。如果我在末尾放一个return语句,那么它将在查询有机会填充数组之前返回数组,因为它是异步运行的。return to
success
callback不会返回到外部函数。使用
$q
创建并返回promiseRead以了解您的错误并加以纠正您需要对承诺有一个良好的(介于基本和良好之间)理解,才能完成您想要在这里做的事情。我建议在网上读一下。