13

有没有办法用角度 $http 模块模拟 jquery '完成' 回调?无论请求成功还是失败,我都有一些我想执行的代码,目前我发现自己不得不写这个:

$http.get(someUrl).success(function(){
        successCode();
        completeCode();
    }).error(function(){
        errorCode();
        completeCode();
    })

但我宁愿写这样的东西:

$http.get(someUrl).success(function(){
        successCode();
    }).error(function(){
        errorCode();
    }).complete(function(){
        completeCode();
    })

我也尝试过使用 promise API,但我最终遇到了同样的问题。有什么建议吗?

4

1 回答 1

14

2014 年 8 月更新: 在最新版本的 Angular.always中已重命名。更.finally喜欢..finally.always

请注意,为了支持 IE8,您必须使用括号表示法将其称为["finally"].


您可以.always在 AngularJS中使用

这个变化是相当新的(你可以在 jQuery 中做一段时间),你可以在这里看到提交。这要求您拥有 AngularJS 1.1.5 或更高版本。

always(callback)– 允许您观察承诺的履行或拒绝,但这样做不修改最终值。这对于释放资源或做一些无论承诺被拒绝还是解决都需要做的清理很有用。有关详细信息,请参阅完整规范

小提琴

于 2013-08-09T10:08:38.020 回答