angularjs - 检查 Angular 资源响应是否为空

标签 angularjs

我有一个返回 promise 的服务。我想检查返回的值是否为空对象。我怎样才能做到这一点。我想我需要以某种方式从 promise 对象中提取返回值。

这是我的资源:

app.factory('Auth', ['$resource',
  function($resource) {
    return $resource('/user/identify', {}, {
      identify: {
        url: '/user/identify'
      },
    });
  }
]);

然后在服务中:
Auth.identify(function(data) {

  // This always passes since data contains promise propeties
  if (!_.isEmpty(data)) {

  }
});

数据的控制台日志提供:
Resource
  $promise: Object
  $resolved: true
  __proto__: Resource

当对象不为空但想要更通用的方法时,我可以检查预期的属性。

最佳答案

要解开返回值,您可以直接访问 promise :

Auth.identify()
    .$promise
    .then(function(data) {
      if (!_.isEmpty(data)) {
        // ...
      }
    });

关于angularjs - 检查 Angular 资源响应是否为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27094241/

相关文章:

http - Laravel angularjs http post 从输入返回 null

javascript - Ionic - 选择后隐藏 iOS 选择轮(选择选项)

javascript - 使用 Array.Sort 而不使用数组中的两个值

angularjs - Angular js 与 spring mvc

javascript - 在 ng-disabled 上清除单选按钮

javascript - Spring Boot WRo4j 需要重新启动应用程序才能看到 javascript 更改

angularjs - grunt-contrib-requirejs 中的垫片未包装库

javascript - 使用 Angular ng-disable 验证两个输入之一

javascript - Angular JS - 模板中的 ngRepeat

javascript - 当从指令添加值时,数组上的 $scope.$watch 不会更新