$router实现promise效果

来源:互联网 发布:php软件的背景怎么改 编辑:程序博客网 时间:2024/06/16 01:44
    .when('/query', {      templateUrl: 'views/query/index.html?v=' + version,      controller: 'QueryController',      resolve: {        load: ['$q', '$timeout', function($q, $timeout) {          var deferred = $q.defer();          require(['./query/index.js'], function() {            $timeout(function() {              deferred.resolve();            });          });          return deferred.promise;        }]      }    })




$q 中 实现了promise 的效果

  $q.defer() 构建一个新的defer实例


  defer对象

         resolve()  传入value解决派生的promise。如果value是一个通过$q.defer() 构造的拒绝对象,该对象promise将被拒绝

         reject()  拒绝派生的promise,并且提供原因

         notify()在promise执行的过程中提供状态更新,在promise被解决和拒绝之前就会多次运行。。




可以参考  http://blog.csdn.net/luan_tianjiao/article/details/39160899