AngularJS: Error: $q is not defined

AngularJS: Error: $q is not defined

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

Error: $q is not defined

为什么会出现这个错误,我该如何解决?

我试图 google 这个问题,但大多数问题都比我的问题更具体。

A (german) guide 告诉我,promise 已经在 angular js 中实现了,不需要添加任何东西。

编辑:

这是我的控制器:

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

编辑2: 一位评论者建议注入 $q。我这样做了:

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

现在,错误没有发生了。

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

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