如何检查angularjs服务中的返回值是否是一个承诺?

尼科

我在猜测如何实际检查函数的返回值是否是一个承诺方面遇到很多麻烦。我将Jasmine与Karma和angularjs一起使用。我已提供服务:

var app = angular.module('myService', []);

function simpleResource ($q) {

   this.cget = function () {
     var deferred = $q.defer();

     return deferred.promise;
   };

   this.get = function () {
     // body...
   };

   this.save = function () {
     // body...
   };

   this.delete = function () {
     // body...
   };
}

app
  .service('nsResource', simpleResource);

如您所见,cget方法应该返回一个promise,我如何测试返回的值是否实际上是一个promise?

阿尔瓦罗·乔奥

(function(angular) {
  'use strict';
  angular.module('includeExample', ['ngAnimate'])
    .controller('ExampleController', ['$scope', '$q',
      function($scope, $q) {


        $scope.a = "";
       
        $scope.asyncGreet = function(name) {
          var deferred = $q.defer();

            deferred.notify('About to greet ' + name + '.');
            if (true) {
              deferred.resolve('Hello, ' + name + '!');
            } else {
              deferred.reject('Greeting ' + name + ' is not allowed.');
            }

          return deferred.promise;
        };
        $scope.promise = $scope.asyncGreet('Robin Hood');
        $scope.a = $scope.promise.constructor.name;

       

      }
    ]);
})(window.angular);
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.5.0-beta.1/angular.min.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.5.0-beta.1/angular-animate.js"></script>

<body ng-app="includeExample">
  <div ng-controller="ExampleController">

    <div class="slide-animate-container">
      <span ng-bind="a"><span>
      
    </div>
  </div>
</body>

您可以使用constructor

deferred.promise.constructor == Promise

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将第一个承诺的返回值传递给链式承诺中的最后一个承诺

来自分类Dev

创建一个没有返回值的AngularJS承诺

来自分类Dev

如何检查jQuery中第一个函数的返回值

来自分类Dev

从服务中返回一个承诺

来自分类Dev

如何从另一个函数内的承诺返回值?

来自分类Dev

AngularJS承诺服务内部的返回值似乎已更改

来自分类Dev

如何检查一个值是否在 Django 的列表中

来自分类Dev

如何在一行中检查返回值是否为true?

来自分类Dev

AngularJS:从.then内部返回一个承诺?

来自分类Dev

从承诺的 then() 返回一个值?

来自分类Dev

如何访问bash中的最后一个返回值?

来自分类Dev

如何获得在另一个函数中调用的函数以返回值?PYTHON

来自分类Dev

如何从我在另一个班级创建的特殊组件中返回值

来自分类Dev

如何访问bash中的最后一个返回值?

来自分类Dev

如何在另一个变量中捕获jquery ajax函数的返回值

来自分类Dev

加一个返回值?

来自分类Dev

我试图在 asyncstorage 中存储当前日期和时间,但我得到的返回值是一个承诺,我看不到这些值

来自分类Dev

从服务到组件的承诺返回值

来自分类Dev

AngularJS - 在承诺之间共享返回值

来自分类Dev

使用服务方法的返回值构造另一个服务?

来自分类Dev

检查值列表是否在另一个嵌套列表python中,并返回匹配项

来自分类Dev

检查图片框中的坐标是否已更改单击并返回一个值

来自分类Dev

如何检查一组值中的一个值是否相等?

来自分类Dev

检查值是否在MATLAB中函数的返回值中

来自分类Dev

如何在此函数中返回值而不是承诺?

来自分类Dev

AngularJS从服务返回值

来自分类Dev

AngularJS从服务返回值

来自分类Dev

在同一个“返回值对象”中访问一个 javascript 函数

来自分类Dev

在继续操作之前,先检查一个Promise函数的返回值。方法错误?

Related 相关文章

  1. 1

    如何将第一个承诺的返回值传递给链式承诺中的最后一个承诺

  2. 2

    创建一个没有返回值的AngularJS承诺

  3. 3

    如何检查jQuery中第一个函数的返回值

  4. 4

    从服务中返回一个承诺

  5. 5

    如何从另一个函数内的承诺返回值?

  6. 6

    AngularJS承诺服务内部的返回值似乎已更改

  7. 7

    如何检查一个值是否在 Django 的列表中

  8. 8

    如何在一行中检查返回值是否为true?

  9. 9

    AngularJS:从.then内部返回一个承诺?

  10. 10

    从承诺的 then() 返回一个值?

  11. 11

    如何访问bash中的最后一个返回值?

  12. 12

    如何获得在另一个函数中调用的函数以返回值?PYTHON

  13. 13

    如何从我在另一个班级创建的特殊组件中返回值

  14. 14

    如何访问bash中的最后一个返回值?

  15. 15

    如何在另一个变量中捕获jquery ajax函数的返回值

  16. 16

    加一个返回值?

  17. 17

    我试图在 asyncstorage 中存储当前日期和时间,但我得到的返回值是一个承诺,我看不到这些值

  18. 18

    从服务到组件的承诺返回值

  19. 19

    AngularJS - 在承诺之间共享返回值

  20. 20

    使用服务方法的返回值构造另一个服务?

  21. 21

    检查值列表是否在另一个嵌套列表python中,并返回匹配项

  22. 22

    检查图片框中的坐标是否已更改单击并返回一个值

  23. 23

    如何检查一组值中的一个值是否相等?

  24. 24

    检查值是否在MATLAB中函数的返回值中

  25. 25

    如何在此函数中返回值而不是承诺?

  26. 26

    AngularJS从服务返回值

  27. 27

    AngularJS从服务返回值

  28. 28

    在同一个“返回值对象”中访问一个 javascript 函数

  29. 29

    在继续操作之前,先检查一个Promise函数的返回值。方法错误?

热门标签

归档