请教关于angularjs中的$q,
这个作为委托的类,,,具体resolve的作用到底是什么,在如下代码中,deferred.resolve(data); 把传回来的数据放到里面有什么意义呢,我并没有针对deferred.resolve设定什么操作啊,如果在success外面设置一个对象ob来作为闭包传进去,又有什么区别啊?
angular.module('myApp', [])
.factory('GithubService', [
'$q', '$http',
function($q, $http) {
var getPullRequests = function() {
var deferred = $q.defer();
// 从Github获取打开的angularjs pull请求列表
$http.get('https://api.github.com/repos/angular/angular.js/pulls')
.success(function(data) {
deferred.resolve(data);
})
.error(function(reason) {
deferred.reject(reason);
})
return deferred.promise;
}
return { // 返回工厂对象
getPullRequests: getPullRequests
};
}]);