2016-12-17 58 views
4

我想在我的angularjs控制器中做出承诺。我以Angularjs Doc为例,并将其粘贴到我的控制器中。当我尝试运行代码时,控制台打印:

Error: $q is not defined 

为什么发生此错误,我该如何解决它?

我试图谷歌这个问题,但大多数问题围绕比我的更具体的问题。

A (german) guide告诉我承诺已经实施了角度js,并且不需要添加任何内容。

编辑:

这是我的控制器:

app.controller("ArgumentationController", [ 
    '$scope', '$resource', 
    function($scope, $resource) { 

EDIT2: 一个评注建议注入$ Q。我这样做:

app.controller("ArgumentationController", [ 
    '$scope', '$resource', '$q', 
    function($scope, $resource, $q) { 

现在,错误不会发生。

+3

您是否在控制器中注入了$ q? – SaiUnique

回答

6

从您的过去的代码,您的代码中不需要$resource。而是在其中注入$q。 当您使用$q创建虚拟承诺时,进行以下更改。

app.controller("ArgumentationController", [ 
     '$scope', '$q', 
     function($scope, $q) {