My dataFactory is set up to retrieve posts in a simple manner:
dataFactory.getPosts = function () {
if (this.httpPostsData == null) {
this.httpPostsData = $http.get("http://localhost/matImms/wp-json/posts?type=journey&filter[posts_per_page]=-1&filter[order]=ASC&filer[orderby]=date")
.success(function (posts) {
})
.error(function (posts) {
console.log('Unable to load post data: ' + JSON.stringify(posts));
});
}
return (this.httpPostsData);
}
The controller interacts with the factory and I am aware that the posts are promises, so actions are taken upon success and regardless. Everything is working smoothly.
.controller('CardsCtrl', function($scope, dataFactory,
$ionicSlideBoxDelegate, $stateParams) {
var parentID = $stateParams.parentID;
var keyIDNumber = $stateParams.keyID;
$scope.card = [];
var httpcall = dataFactory.getPosts()
.success(function (posts) {
$scope.card = dataFactory.getChildPosts(parentID, posts, keyIDNumber);
$ionicSlideBoxDelegate.update();
});
// additional tasks ......
});
Now, I am attempting to cache the post data. However, when the controller is called for the second time, an error stating ".success is not a function" is returned. This issue likely arises from the fact that the posts have already been retrieved - but how can I handle this situation?