0

我试图找出处理异步数据的最佳方法。

基本上,我接收到我的控制器的数据:

 UserResource.query(function (res) {
      $scope.user = res;
 });

这工作正常,但有闪烁。例如,如果我将它与另一个指令(如引导选择)一起使用,它将首先呈现选择(没有数据),然后它会正确显示它。

有没有一种优雅的方法来处理这个问题,而无需创建大量额外的参数来检查值并使用 ng-switch 进行显示/隐藏。

任何提示/最佳实践建议都会很棒!

谢谢

4

1 回答 1

0

使用1.1.3的$resource承诺PR提交

$scope.userResource = function() {
    var promise = UserResource.get().$promise.then(
        function( res ){
            $scope.user = res;
        },
        function( error ){
            //Something went wrong!
        }
    )
    return promise;
}

我自己最近遇到了这个问题:异步 forEach AngularJS 之后的回调

编辑:

@dave 有一个很好的收获——也就是说,在1.1.4中,这个约定也发生了变化:

UserResource.get().$then() ...

$then is returned on the $resource object directly.

于 2013-05-13T05:28:43.343 回答