当我的请求调用失败时,是否继续进度栏?

时间:2019-01-08 12:50:59

标签: javascript angular

我正在使用$interval

每隔15秒运行一次API调用
    $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));
            });
        }

当我将应用程序与服务器断开连接(通过关闭wifi或关闭服务器)后,浏览器处于在线状态时,上述API调用就不会出现任何问题。当API调用发生超时(需要更多时间)时,进度条会出现在我的Web应用程序上。恢复与服务器的连接后,它仍会继续显示不确定的进度条。即使API调用成功恢复。

我希望此API在后台运行而不显示UI进度。该应用程序的所有其他API调用都需要显示一个进度栏,因此我如何仅使该请求保持静音,即没有进度栏,我该怎么做?

更新

我通过在请求配置中传递ignoreLoadingBar解决了我的问题,所以我的请求变成了:

var req = {
                    method : 'POST',
                    url : '/logger/web/events',
                    headers : {
                        'Content-Type' : 'application/json',
                        'Authorization' : openAuth
                    },
                    data : getData(),
                ignoreLoadingBar: true  
                };

0 个答案:

没有答案