我们可以在jQuery中使用.always()回调函数处理响应,无论响应是否成功。
AngularJS中是否存在这种类型的用法?
//jQuery
$.get( "test.php" ).always(function() {
alert( "$.get completed with success or error callback arguments" );
});
//AngularJS
$http({
method: 'GET',
url: '/someUrl'
}).then(function successCallback(response) {
//success
}, function errorCallback(response) {
//error
});
//how can i handle always?
答案 0 :(得分:2)
您可以使用Angular承诺的finally
method。
答案 1 :(得分:1)
$http({
method: 'GET',
url: '/someUrl'
}).then(function successCallback(response) {
//success
}).catch(function errorCallback(response) {
//error
}).finally(function() {
//Callback method
//Executed always, no matter of success or fail
});
从finally()
回调中返回承诺时的重要通知:
finally
会返回一个承诺,该承诺将以相同方式解析 履行价值或拒绝理由作为承诺。但是,如果callback
返回一个承诺,返回的承诺的解决方案将是 延迟,直到回调结束的承诺结束。