Я выполняю вызов API с интервалом в 15 секунд, используя $interval
$interval(myAPICall, 15000);
Функция моего вызова API выглядит следующим образом:
function myAPICall() {
var openAuth = "Basic " + btoa("myusername:mypwd");
var req = {
method : 'POST',
url : '/logger/web/events',
headers : {
'Content-Type' : 'application/json',
'Authorization' : openAuth
},
data : getData(),
reportProgress: false
};
$http(req).then(function successCallback(response) {
$log.log("API call succeeded, response : " + JSON.stringify(response.data));
}, function errorCallback(response) {
$log.log("API call failed, response : " + JSON.stringify(response.data));
});
}
Вышеуказанный вызов API, когда браузер подключен к сети, происходит без проблем, как только я отключаю приложение от сервера (отключив Wi-Fi или выключив сервер). В моем веб-приложении отображается индикатор выполнения, поскольку вызов API происходит с тайм-аутом (это занимает больше времени). После восстановления подключения к серверу он продолжает показывать неопределенный индикатор выполнения. Даже когда вызовы API возобновляются успешно.
Я хочу, чтобы этот API работал в фоновом режиме, не показывая никакого прогресса в пользовательском интерфейсе. На всех других вызовах API приложения должна отображаться индикатор выполнения, так как я могу сделать этот запрос только бесшумным, т. Е. Без индикатора выполнения, как я могу это сделать?
Обновление
Я решил свою проблему, передав ignoreLoadingBar
в моей конфигурации req, поэтому мой запрос стал:
var req = {
method : 'POST',
url : '/logger/web/events',
headers : {
'Content-Type' : 'application/json',
'Authorization' : openAuth
},
data : getData(),
ignoreLoadingBar: true
};