如果响应时间太长而无法响应,您如何添加超时?我的控制器中有以下内容:
$payments.getShopStatus(data.siteUrl)
.success(function(rdata, response) {
// go to next step
})
.error(function(rdata, response) {
// tell me something's wrong
// go here if there is a three-second delay too
});
在我的工厂里,我有一个简单的http返回来处理上面的那个:
getShopStatus: function(shop) {
var me = this;
var sUrl = String(shop);
var req = {
method: 'GET',
url: sUrl
};
return $http(req);
},
我在哪里包含超时/延迟?我需要在没有响应的三秒延迟后强制它失败。
答案 0 :(得分:0)
您可以在主模块应用程序配置功能中进行全局超时配置,如下所示。
angular.module('mainModule', [/* dependent modules */]).config(['$httpProvider', function($httpProvider){
$httpProvider.defaults.timeout = 5000;
}]);
或者对于个人通话,您需要在$ http调用中将超时作为参数传递,如下所示。
getShopStatus: function(shop) {
var me = this;
var sUrl = String(shop);
return $http.get(sUrl, {timeout: 5000});
},