gpt4 book ai didi

javascript - 重构 Angular ng-resource 错误处理

转载 作者:行者123 更新时间:2023-12-03 08:09:14 24 4
gpt4 key购买 nike

警告:前方有 CoffeeScript 。

我有多个具有各种 ngresource 功能的 Controller ,如下所示:

app.controller 'usersCtrl', ($scope, $state, $filter, $flash, $api) ->

$scope.saveUser = ->
$scope.spinner = true
$api.User.save($scope.user).$promise.then ((response) ->
....
), (error)
$scope.spinner = false
if error.code = 400
$flash.create('warning', error.message)
else if error.code = 500
$flash.create('danger', error.message)

$scope.updateFoo = ->
$scope.spinner = true
$api.Foo.update(foo: $scope.foo).$promise.then ((response) ->
....
), (error) ->
$scope.spinner = false
if error.code = 400
$flash.create('warning', error.message)
else if error.code = 500
$flash.create('danger', error.message)

鉴于我在数十个函数中使用几乎相同的错误处理代码,如何重构代码以便可以在多个函数中重用。

最佳答案

将错误处理程序重构为函数怎么样?

errorHandler = (error) ->
$scope.spinner = false
if error.code = 400
$flash.create('warning', error.message)
else if error.code = 500
$flash.create('danger', error.message)

然后像这样使用它:

$scope.saveUser = ->
$scope.spinner = true
$api.User.save($scope.user).$promise.then ((response) ->
....
), errorHandler

关于javascript - 重构 Angular ng-resource 错误处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34220421/

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