我对Angular并不陌生,并且看到了几种不同的方法来做很多不同的事情。我尝试订阅Todd Motto的风格指南。示例1是我的配对伙伴编写的代码,示例2是我编写代码的方式。
对于任何一个例子所做的错误或正确的事情,我们将不胜感激。
谢谢。
例子1
angular
.module('app.services')
.service('FriendsService', function($q, $http, Auth){
var baseUrl = 'https://graph.facebook.com/v1.0'
this.all = function() {
var defer = $q.defer();
$http
.get(baseUrl + '/me/friends', { params: { access_token: Auth.currentUser.accessToken } })
.then(function(response){
defer.resolve(response.data.data)
});
return defer.promise;
};
});
例子2
angular
.module('app.services')
.service('FriendsService', function($http, Auth){
var baseUrl = 'https://graph.facebook.com/v1.0'
var getAll = function() {
return $http
.get(baseUrl + '/me/friends', { params: { access_token: Auth.currentUser.accessToken } })
.then(function(response){
return response.data.data;
});
};
return {
all: getAll
}
});
使用FriendsService
FriendsService.all()
.then(function(data){
$scope.friends = data;
});
$http
$q
内部使用。实际上,这些例子几乎是相同的。
但是,示例1并没有捕获到任何拒绝$http
。它创建了一个多余的承诺,该承诺未$http
完全包装。
通常优选实施例2。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句