.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