Wrap cache refresh() method to call it once.
This commit is contained in:
@@ -24,11 +24,31 @@ function (angular, _, utils) {
|
|||||||
|
|
||||||
// Check is a service initialized or not
|
// Check is a service initialized or not
|
||||||
this._initialized = undefined;
|
this._initialized = undefined;
|
||||||
|
|
||||||
|
this.refreshPromise = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
var p = ZabbixCachingProxy.prototype;
|
var p = ZabbixCachingProxy.prototype;
|
||||||
|
|
||||||
p.refresh = function () {
|
/**
|
||||||
|
* Wrap _refresh() method to call it once.
|
||||||
|
*/
|
||||||
|
p.refresh = function() {
|
||||||
|
var self = this;
|
||||||
|
var deferred = $q.defer();
|
||||||
|
if (!self.refreshPromise) {
|
||||||
|
self.refreshPromise = deferred.promise;
|
||||||
|
self._refresh().then(function() {
|
||||||
|
deferred.resolve();
|
||||||
|
self.refreshPromise = null;
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
return self.refreshPromise;
|
||||||
|
}
|
||||||
|
return deferred.promise;
|
||||||
|
};
|
||||||
|
|
||||||
|
p._refresh = function() {
|
||||||
var self = this;
|
var self = this;
|
||||||
var promises = [
|
var promises = [
|
||||||
this.zabbixAPI.getGroups(),
|
this.zabbixAPI.getGroups(),
|
||||||
|
|||||||
Reference in New Issue
Block a user