这是我最初的 Angular 函数。我正在设置错误的 http
地址和工作 http
地址,但在任何情况下都可以工作 then
功能。如果我设置了错误的http地址,它应该是处理catch
函数。这是working demo .
(function () {
loadAppSettings().then(function () {
alert(1)
}).catch(function(){
alert(0)
});
function loadAppSettings() {
var $http = angular.injector(["ng"]).get("$http");
return $http.get("oops").then(
function (response) {
angular.module("app").constant("appSettings", response.data);
}
).catch(
function (errorResponse) {
console.error("app settings couldn't load.")
}
);
}
})();
最佳答案
您使用哪个版本的 AngularJS? 因为,在我看来,以前的做法是:
$http.get('/someUrl').success( function( data, status, headers, config ){
// code in case of success
}).error( function( data, status, headers, config ){
// code in case of error
});
(参见 1.4.3 $http documentation )
新方法(自 1.4.4 起)是:
$http.get('/someUrl').then( function( response ){
// code in case of success
}, function( response ){
// code in case of error
});
关于javascript - Angular js 初始化 $http 然后函数在任何情况下都可以工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34352304/