我有一项服务返回标准解决或拒绝 promise 。在我的 Controller 中,我目前有类似的内容:
myService.myServiceFunction(id).then(function(data){
// do something with data
$scope.myServiceFunctionFinished = true;
}, function(data){
// do some error handling with data
$scope.myServiceFunctionFinished = true;
});
在上面,错误和成功响应都会触发为 $scope.myServiceFunctionFinished
分配一个 true
值。
有没有办法简写上面的内容,这样我就不会两次定义相同的东西?如果上面的代码是 try catch 语句,我正在寻找相当于 finally block 的内容。我上面显示的变量赋值必须在服务器响应后发生。
最佳答案
您可以使用.finally
函数,该函数将调用一次promiseresolve/rejected
。
代码
myService.myServiceFunction(id).then(function(data){
//do success code
}, function(data){
//do error code
}).finally(function(){
//do some final stuff which wouldn't care about promise resolve/reject
$scope.myServiceFunctionFinished = true;
});
关于angularjs - Angular Promise - 对成功和错误都做一些事情,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34813815/