From 7cebc63defdd640b822132a1e24b489345ac06e9 Mon Sep 17 00:00:00 2001 From: Daniel Schaal Date: Thu, 8 Jun 2017 05:10:34 +0200 Subject: Use regular promise for http calls --- js/admin/Admin.js | 2 +- js/app/Config.js | 27 ++++++------------ js/app/Run.js | 55 ++++++++++++++++++------------------- js/controller/ContentController.js | 9 +++--- js/controller/SettingsController.js | 2 +- js/service/FeedResource.js | 15 ++++------ js/service/FolderResource.js | 27 ++++++------------ js/service/ItemResource.js | 2 ++ 8 files changed, 59 insertions(+), 80 deletions(-) (limited to 'js') diff --git a/js/admin/Admin.js b/js/admin/Admin.js index 18866b9fb..d60dd483f 100644 --- a/js/admin/Admin.js +++ b/js/admin/Admin.js @@ -71,7 +71,7 @@ url: url, data: JSON.stringify(data), dataType: 'json' - }).success(function (data) { + }).then(function (data) { saved(); autoPurgeMinimumIntervalInput .val(data.autoPurgeMinimumInterval); diff --git a/js/app/Config.js b/js/app/Config.js index 2152615c6..4df6c9b00 100644 --- a/js/app/Config.js +++ b/js/app/Config.js @@ -92,12 +92,10 @@ app.config(function ($routeProvider, $provide, $httpProvider) { var oldestFirst = SettingsResource.get('oldestFirst'); var search = $location.search().search || ''; - var deferred = $q.defer(); - // if those two values are null it means we did not receive // the settings request from the server so dont query the server if (showAll === null || oldestFirst === null) { - deferred.resolve({}); + return {}; } else { var parameters = { type: type, @@ -125,16 +123,14 @@ app.config(function ($routeProvider, $provide, $httpProvider) { } } - $http({ + return $http({ url: BASE_URL + '/items', method: 'GET', params: parameters - }).success(function (data) { - deferred.resolve(data); + }).then(function (response) { + return response.data; }); } - - return deferred.promise; } }; }; @@ -143,16 +139,15 @@ app.config(function ($routeProvider, $provide, $httpProvider) { return { sites: /* @ngInject */ function ( $http, $q, BASE_URL, $location, Publisher, SettingsResource) { - var deferred = $q.defer(); - // always use the code from the url var language = $location.search().lang; if (!language) { language = SettingsResource.get('language'); } - $http.get(BASE_URL + '/settings').then(function (data) { - Publisher.publishAll(data); + return $http.get( + BASE_URL + '/settings').then(function (response) { + Publisher.publishAll(response.data); // get url and strip trailing slashes var url = SettingsResource.get('exploreUrl') @@ -166,13 +161,9 @@ app.config(function ($routeProvider, $provide, $httpProvider) { return $http.get(defaultExploreUrl); }); - }).then(function (data) { - deferred.resolve(data.data); - }).catch(function () { - deferred.reject(); + }).then(function (response) { + return response.data; }); - - return deferred.promise; } }; }; diff --git a/js/app/Run.js b/js/app/Run.js index 2a9842104..eb4ec76fd 100644 --- a/js/app/Run.js +++ b/js/app/Run.js @@ -24,25 +24,25 @@ app.run(function ($rootScope, $location, $http, $q, $interval, $route, Loading, Publisher.subscribe(SettingsResource).toChannels(['settings']); // load feeds, settings and last read feed - var settingsDeferred = $q.defer(); - $http.get(BASE_URL + '/settings').success(function (data) { - Publisher.publishAll(data); - settingsDeferred.resolve(); + var settingsPromise = $http.get(BASE_URL + '/settings').then( + function (response) { + Publisher.publishAll(response.data); + return response.data; }); - var activeFeedDeferred = $q.defer(); var path = $location.path(); - $http.get(BASE_URL + '/feeds/active').success(function (data) { + var activeFeedPromise = $http.get(BASE_URL + '/feeds/active') + .then(function (response) { var url; - switch (data.activeFeed.type) { + switch (response.data.activeFeed.type) { case FEED_TYPE.FEED: - url = '/items/feeds/' + data.activeFeed.id; + url = '/items/feeds/' + response.data.activeFeed.id; break; case FEED_TYPE.FOLDER: - url = '/items/folders/' + data.activeFeed.id; + url = '/items/folders/' + response.data.activeFeed.id; break; case FEED_TYPE.STARRED: @@ -63,26 +63,25 @@ app.run(function ($rootScope, $location, $http, $q, $interval, $route, Loading, $location.path(url); } - activeFeedDeferred.resolve(); + return response.data; }); - var feedDeferred = $q.defer(); var feeds; - $http.get(BASE_URL + '/feeds').success(function (data) { - feeds = data; - feedDeferred.resolve(); + var feedPromise = $http.get(BASE_URL + '/feeds').then(function (response) { + feeds = response.data; + return feeds; }); - var folderDeferred = $q.defer(); var folders; - $http.get(BASE_URL + '/folders').success(function (data) { - folders = data; - folderDeferred.resolve(); + var folderPromise = $http.get(BASE_URL + '/folders') + .then(function (response) { + folders = response.data; + return folders; }); $q.all([ - feedDeferred.promise, - folderDeferred.promise + feedPromise, + folderPromise ]).then(function () { // first publish feeds to correctly update the folder resource unread // cache @@ -96,10 +95,10 @@ app.run(function ($rootScope, $location, $http, $q, $interval, $route, Loading, // disable loading if all initial requests finished $q.all( [ - settingsDeferred.promise, - activeFeedDeferred.promise, - feedDeferred.promise, - folderDeferred.promise + settingsPromise, + activeFeedPromise, + feedPromise, + folderPromise ] ) .then(function () { @@ -109,11 +108,11 @@ app.run(function ($rootScope, $location, $http, $q, $interval, $route, Loading, // refresh feeds and folders $interval(function () { - $http.get(BASE_URL + '/feeds').success(function (data) { - Publisher.publishAll(data); + $http.get(BASE_URL + '/feeds').then(function (response) { + Publisher.publishAll(response.data); }); - $http.get(BASE_URL + '/folders').success(function (data) { - Publisher.publishAll(data); + $http.get(BASE_URL + '/folders').then(function (response) { + Publisher.publishAll(response.data); }); }, REFRESH_RATE * 1000); diff --git a/js/controller/ContentController.js b/js/controller/ContentController.js index dbd8bbc75..51f8eca69 100644 --- a/js/controller/ContentController.js +++ b/js/controller/ContentController.js @@ -178,10 +178,10 @@ app.controller('ContentController', Loading.setLoading('autopaging', true); ItemResource.autoPage(type, id, oldestFirst, showAll, search) - .success(function (data) { - Publisher.publishAll(data); + .then(function (response) { + Publisher.publishAll(response.data); - if (data.items.length >= ITEM_AUTO_PAGE_SIZE) { + if (response.data.items.length >= ITEM_AUTO_PAGE_SIZE) { self.isAutoPagingEnabled = true; } else { self.isNothingMoreToAutoPage = true; @@ -190,7 +190,8 @@ app.controller('ContentController', if (self.isAutoPagingEnabled && self.autoPageAgain) { self.autoPage(); } - }).error(function () { + return response.data; + }, function () { self.isAutoPagingEnabled = true; }).finally(function () { Loading.setLoading('autopaging', false); diff --git a/js/controller/SettingsController.js b/js/controller/SettingsController.js index 1507fdf55..c20f801c8 100644 --- a/js/controller/SettingsController.js +++ b/js/controller/SettingsController.js @@ -74,7 +74,7 @@ app.controller('SettingsController', var articles = JSON.parse(content); var self = this; - ItemResource.importArticles(articles).success(function (data) { + ItemResource.importArticles(articles).then(function (data) { Publisher.publishAll(data); }).finally(function () { self.isArticlesImporting = false; diff --git a/js/service/FeedResource.js b/js/service/FeedResource.js index 3e138a952..bb1f30f3f 100644 --- a/js/service/FeedResource.js +++ b/js/service/FeedResource.js @@ -184,9 +184,7 @@ app.factory('FeedResource', function (Resource, $http, BASE_URL, $q) { this.add(feed); this.updateFolderCache(); - var deferred = this.$q.defer(); - - this.http({ + return this.http({ method: 'POST', url: this.BASE_URL + '/feeds', data: { @@ -196,15 +194,12 @@ app.factory('FeedResource', function (Resource, $http, BASE_URL, $q) { user: user || null, password: password || null } - }).success(function (data) { - deferred.resolve(data); - }).error(function (data) { + }).then(function (response) { + return response.data; + }, function (response) { feed.faviconLink = ''; - feed.error = data.message; - deferred.reject(); + feed.error = response.data.message; }); - - return deferred.promise; }; diff --git a/js/service/FolderResource.js b/js/service/FolderResource.js index c5105e521..43ff8422d 100644 --- a/js/service/FolderResource.js +++ b/js/service/FolderResource.js @@ -60,26 +60,21 @@ app.factory('FolderResource', function (Resource, $http, BASE_URL, $q) { FolderResource.prototype.rename = function (folderName, toFolderName) { var folder = this.get(folderName); - var deferred = this.$q.defer(); var self = this; - this.http({ + return this.http({ url: this.BASE_URL + '/folders/' + folder.id + '/rename', method: 'POST', data: { folderName: toFolderName } - }).success(function () { + }).then(function () { folder.name = toFolderName; delete self.hashMap[folderName]; self.hashMap[toFolderName] = folder; - - deferred.resolve(); - }).error(function (data) { - deferred.reject(data.message); + }, function (response) { + return response.data.message; }); - - return deferred.promise; }; FolderResource.prototype.getById = function (id) { @@ -94,21 +89,17 @@ app.factory('FolderResource', function (Resource, $http, BASE_URL, $q) { this.add(folder); - var deferred = this.$q.defer(); - - this.http({ + return this.http({ url: this.BASE_URL + '/folders', method: 'POST', data: { folderName: folderName } - }).success(function (data) { - deferred.resolve(data); - }).error(function (data) { - folder.error = data.message; + }).then(function (response) { + return response.data; + }, function (response) { + folder.error = response.data.message; }); - - return deferred.promise; }; diff --git a/js/service/ItemResource.js b/js/service/ItemResource.js index 6e1f83400..159216797 100644 --- a/js/service/ItemResource.js +++ b/js/service/ItemResource.js @@ -216,6 +216,8 @@ app.factory('ItemResource', function (Resource, $http, BASE_URL, data: { json: json } + }).then(function(response) { + return response.data; }); }; -- cgit v1.2.3