I have two service which depend on each other. As a consequence, I want to use promises.
Here is my code:
var defer = $q.defer();
var promiseUsers = Users.get({id: $routeParams.id});
var promiseUserFields = UserFields.get({id: $routeParams.id});
var promiseResponse = defer.promise;
$q.all([promiseUsers, promiseUserFields])
.then(function (onFulfilled) {
console.log(onFulfilled); // Data available
var res = onFulfilled; // undefined
defer.resolve([res[0].users, res[1].fields]);
}, function(onRejected) {
console.log(onRejected);
});
promiseResponse.then(function (data) {
$scope.users = data[0]; // undefined
$scope.userFields = data[1]; // undefined
console.log($scope.users); // undefined
console.log($scope.userFields); // undefined
});
My problem is that I can't assign an element property of the response array onFulfilled
, even though I can see the console output of onFulfilled
. It's kinda strange.
Any help would be greatly appreciated.