我看到了一些使用promises访问FB Graph API 的Facebook登录服务的例子.
示例#1:
this.api = function(item) {
var deferred = $q.defer();
if (item) {
facebook.FB.api('/' + item, function (result) {
$rootScope.$apply(function () {
if (angular.isUndefined(result.error)) {
deferred.resolve(result);
} else {
deferred.reject(result.error);
}
});
});
}
return deferred.promise;
}
Run Code Online (Sandbox Code Playgroud)
"$scope.$digest() // Manual scope evaluation"获得响应时使用的服务
示例#2:
angular.module('HomePageModule', []).factory('facebookConnect', function() {
return new function() {
this.askFacebookForAuthentication = function(fail, success) {
FB.login(function(response) {
if (response.authResponse) {
FB.api('/me', success);
} else {
fail('User cancelled login or did not …Run Code Online (Sandbox Code Playgroud)