Angular.js学习手记 Promise

原来我喜欢的那种功能,叫做promise的autounrapping。但是1.2开始,这个功能被deprecated。伤心。

上代码:

angular.
  module('myApp', ['ngResource'])
    .config(function($parseProvider){
      $parseProvider.unwrapPromises(true);
    })
    .controller('MyController', function($scope, Object) {
      $scope.objects = Object.query(['A', 'B', 'C']);
    })
    .service('Object', function($q, $timeout) {
      
      this.query = function(objects) {
        
        var deferred = $q.defer();

        $timeout(function() {
          deferred.notify('notified');
          console.log('promise notified');
          
          if (new Date().getTime() % 2) {
            deferred.resolve(objects);
          } else {
            deferred.reject(['D']);
          }
        }, 1000);

        return deferred.promise;
      };
    });

参考:

 

 


评论

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据