Angular.js$http请求后,调用complete函数,无论承诺成功与否

如何确保无论使用Angular.js提供的promise API调用$http的结果如何,都能运行complete()函数

$http({
方法:“POST”,
网址:submitur,
数据:$scope.data
})
.成功(功能(数据){
//成功后执行此代码
})
.错误(函数(数据){
//在出现错误时执行此代码
})
.complete(函数(){
//不管结果如何,执行此代码
});

一旦请求完成,可以使用它来隐藏AJAX微调器图标。无论请求结果如何,您都希望隐藏微调器

我不是Angular.js方面世界上最伟大的专家,但我知道您可以做到以下几点:

随便什么。然后(函数(){
//这里是成功代码
},函数(){
//这里有错误代码
return true;//返回任何未定义的内容(而不是'throw()`),以强制链沿着以下then()的成功路径运行。
}).然后(函数(){
//“完整”代码在这里
});

实际上,您被迫从一个或多个.then()中设计一些东西,这是$q promise的唯一方法

发表评论