-
-
Save adaptivedev/80d12675ba1e83d424b1 to your computer and use it in GitHub Desktop.
trying to resolve Ionic Promises problem: Uncaught ReferenceError: Promise is not defined at file:///android_asset/www/lib/ionic/js/ionic.bundle.js:11731
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
'use strict'; | |
angular.module('boosterapp.utility', []) | |
.service('Utility', function($ionicPopup, $q, $rootScope, $state, Booster) { | |
var self = this; | |
var debug = 3; // debug level - higher means more verbose messages | |
this.popup = function(title, message) { | |
$ionicPopup.alert({ | |
title: title, | |
template: message | |
}); | |
} | |
this.goToState=function(theState) { | |
$state.go(theState); | |
} | |
//FB login button click event | |
this.asynchFacebookLogin = new Promise(function(resolve, reject) | |
{ | |
var d = $q.defer; | |
//alert('doFbLogin'); | |
var fbId = self.getFBuserId(); | |
if(fbId === null) { | |
$d.resolve(fbId); | |
} | |
console.log('doFbLogin'); | |
facebookConnectPlugin. | |
login | |
( | |
['public_profile', 'user_friends', 'email'], | |
// SUCCESS | |
function(res) | |
{ | |
console.log("doFbLogin:res=" + JSON.stringify(res)); | |
var fbId = res.authResponse.userID; | |
$d.resolve(fbId); | |
}, | |
function(err) | |
{ | |
var errLog = 'asynchFacebookLoginfacebookConnectPlugin:err'+err; | |
console.log(errorLog); | |
$d.reject(errLog); | |
} | |
) | |
console.log('doFbLogin:end'); | |
}); | |
this.asychGetLoginStatus = new Promise(function(resolve, reject) | |
{ | |
console.log('asychGetLoginStatus'); | |
var d = $q.defer(); | |
console.log('asychGetLoginStatus:d='+d); | |
//d.notify('asychGetLoginStatus'); | |
facebookConnectPlugin.getLoginStatus | |
( | |
function(res) | |
{ | |
console.log('asychGetLoginStatus:getLoginStatus:res='+JSON.stringify(res)); | |
fbId = res.authResponse.userID; | |
self.setProfileByFbId(fbId); | |
if(res.status + "" != "connected") | |
{ | |
d.resolve(res); | |
} else | |
{ | |
d.reject(); | |
} | |
}, | |
function(err){ | |
console.log('facebookConnectPlugin.getLoginStatus:err='+err); | |
} | |
) | |
}); | |
this.asyncLoginRegister = new Promise(function(resolve, reject) | |
{ | |
var d = $q.defer(); | |
console.log('asyncLoginRegister'); | |
//var getProfileWsr = self.getProfileFromWs(); | |
//if(getProfileWsr === null) { | |
return self.asychGetLoginStatus() | |
.then(function(result){ | |
return self.asynchFacebookLogin() | |
}).then(function(result){ | |
return Booster.getProfileByFbId(fbId) | |
}).then(function(result){ | |
return Booster.register(data.id, data.first_name, data.last_name, data.email,"") | |
}).then(function(){ | |
d = $q.resolve(response); | |
}).catch(function(err){ | |
d = $q.reject(err); | |
}); | |
}); | |
var startUpcoming = function() | |
{ | |
console.log('startUpcoming'); | |
getProfileWsr = JSON.parse(getProfileWsr); | |
console.log('startUpcoming:getProfileWsr='+JSON.stringify(getProfileWsr)); | |
self.setUserId(getProfileWsr.data.UserId); | |
self.updateDeviceId(); | |
self.setProfileFromWs(getProfileWsr); | |
$state.go('app.upcoming'); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment