角度等价于 jQuery deferred.always() 回调
Angular equivalent of jQuery deferred.always() callback
我们可以在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?
您可以使用
Angular promise 的 finally
方法。
来自
$q服务的 final() 方法用于此目的:
$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
返回一个承诺,返回的承诺的解析将是 延迟,直到从回调返回的承诺完成。
相关文章:
- AngularJS:我可以跳过函数参数回调吗
- 要求未定义JS回调参数
- MeteorJS:在带有回调的vzaar api上正确使用wrapAsync
- 自引用回调
- 测试Angular Service解决错误回调中的promise
- 如何将一个JavaScript函数回调为多个函数
- JavaScript回调函数
- 用于回调的javascript参数
- 将json回调数据转换为日期
- 承诺在非节点式回调上使用Bluebird
- 如何在回调函数中执行流
- 回调函数中传递参数的困难(Google Map API Markers)
- Soundcloud Javascript SDK 3.0-回调无法读取属性'connectCallback
- 如何使用jqueryAJAX从页面中回调多个变量
- jquery Onclick函数带有导致双击的回调排序函数
- Javascript点击事件回调不起作用
- 是否保证传递给 always 函数的回调将在函数(数据)回调完成其工作后调用
- 角度等价于 jQuery deferred.always() 回调
- Qunit jquery ajax测试,for always和done回调
- jQuery - .always() 回调过早触发