首页 > 解决方案 > 在 $http Service AngularJS 1.5.5 中设置超时

问题描述

我让我的控制器调用 api,当 api 返回结果时,我在 chrome 控制台中弹出了 500 Internal 服务器。我正在使用 angular 1.5.5,请您帮忙提供一些超时代码。

.timeout(3000,new Error(timeout exceeded))之前尝试过使用,.then但它无法编译

angular.module('myApp').factory('submitService',function($http)){
    var service={};
    service.getJwtToken=function(user)
    {
        return $http({
            method: "POST",
            url:"http://localhost:5000/jwtTest",
            data: user
        }).then(function(resp){
            return resp;
        });
    }
    return service;
});

标签: angularjs

解决方案


您可以尝试使用 setInterval

 setInterval(function () {
//Call your Service here
}, 5000);

发生此服务器错误是因为可能缺少参数或类似的东西

//if  'function2' is dependent on any condition of 'function1' call like this

var f1 = yourService.function1(param1);
    f1.then(function (data1) {  
        if(data1){
        var f2 = yourService.function2(param2);
            f2.then(function (data2) {
            //Do code
                    });
                }
        });

//if  'function2' and 'function1' are independent call like this

var f1 = yourService.function1(param1);
    f1.then(function (data1) {
    //Do code
            });
var f2 = yourService.function2(param2);
    f2.then(function (data2) {
    //Do code
            });

推荐阅读