在angularjs和parse应用程序上使用$q时崩溃

在angularjs和parse应用程序上使用$q时崩溃,angularjs,angular-promise,Angularjs,Angular Promise,我正在学习如何将$q用于异步代码。我没有找到任何关于如何在控制器函数之外的函数中使用此函数的信息。我有下面的代码,它就在$q.defer()行之后崩溃了,我不知道为什么 function playerNames($q) { Parse.$ = jQuery; Parse.initialize("mykey", "mykey"); var namesdfd = $q.defer(); . . . }; app.controller('NameController', ['$scope',

我正在学习如何将$q用于异步代码。我没有找到任何关于如何在控制器函数之外的函数中使用此函数的信息。我有下面的代码,它就在$q.defer()行之后崩溃了,我不知道为什么

function playerNames($q) {

Parse.$ = jQuery;

Parse.initialize("mykey", "mykey");

var namesdfd = $q.defer();
.
.
.
};

app.controller('NameController', ['$scope', function($scope, $q) {scope.names = playerNames($q)}]);

您忘记在控制器依赖项数组中插入
$q
依赖项。应用程序崩溃,因为您有
$q
未定义的
未定义的
.defer()
抛出错误

代码

app.controller('NameController', ['$scope', '$q', //<--you need to inject it here.
  function($scope, $q) {
   scope.names = playerNames($q)
  }
]);
app.controller('NameController',['$scope','$q'//