gpt4 book ai didi

angularjs - 我可以使用 AngularJS 资源版本 1.2.3 编写 "finally"代码吗?

转载 作者:行者123 更新时间:2023-12-03 04:52:07 27 4
gpt4 key购买 nike

我有以下使用 AngularJS 资源的代码:

var entityResource = $resource('/api/:et/', {
et: $scope.entityType
});
entityResource.save(data,
function (result) {
// code
$scope.modal.submitDisabled = false;
}, function (result) {
// code
$scope.modal.submitDisabled = false;
});

有没有类似finally的东西我可以使用,这样我就可以在成功和错误之外将代码禁用(以及我的其他代码)?另外,我现在可以使用 .success 和 .error 或者我仍然需要在 () 内编写两个函数吗?

我确实注意到 1.2.3 中的更改,但我不确定我是否理解这些更改是如何应用的。

最佳答案

您的 entityResource 上应该有一个 $promise 属性。您应该能够在那里设置finally

entityResource.$promise['finally'](function(){
// finally do something
});

参见docs

更新:你可以这样做:

//Using the promise on your resource.
function success(){/**success*/};
function error(){/**failure*/};
function last(){/**finally*/};
entityResource.save(data,success,error).$promise.finally(last);

通过使用 Angular 的 $q.then 您将调用一个 $digest 循环。这将更新您的 View ,这通常很棒。

关于angularjs - 我可以使用 AngularJS 资源版本 1.2.3 编写 "finally"代码吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20428527/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com