2
私は約束を使ってGoogle認証ライブラリを読み込もうとしていますが、gapi.auth2.getAuthInstance()を呼び出して約束したときに失敗します。ここでGoogleAuthライブラリで約束を読み込んで
は、私がこれをやっている方法は次のとおりです。私は、ブラウザがフリーズauth2.init(のparams)に戻るまで
var loadPlatform = function ($q) {
var deferred = $q.defer(),
platform = document.createElement('script');
platform.src ='https://apis.google.com/js/platform.js';
platform.type = 'text/javascript';
platform.async = true;
platform.defer = true;
platform.onload = deferred.resolve;
platform.onerror = deferred.reject;
document.body.appendChild(platform);
return deferred.promise;
};
//I return this from other function
return loadPlatform($q)
.then(function() {
var deferred = $q.defer();
gapi.load('auth2', function() {
deferred.resolve(gapi.auth2);
});
return deferred.promise;
})
.then(function (auth2) {
//This function retuns Promise
//https://developers.google.com/identity/sign-in/web/reference#gapiauth2initparams
return auth2.init(params);
})
.then(function (GoogleAuth) {
//Here I should have solved GoogleAuth object
});
すべてが動作します。 ここには何が起こっていますか?