有没有像AngularJS $ http这样的东西?

时间:2014-05-21 14:42:08

标签: angularjs

我有这样的代码:

    $http({
        method: 'POST',
        url: "/api/Account/Register",
        data: {
            userName: userName,
            password: password,
            confirmPassword: confirmPassword
        }
    })
    .success(function () {
        successCallback();
    })
    .error(function (data) {
        errorCallback(data);
    })

有没有什么方法可以使用AngularJS在finallyCallback中添加它?

2 个答案:

答案 0 :(得分:4)

是的,自1.2.0rc1以来有一个finally方法,如documentation所示。自1.1.5以来,该方法被称为always

$http({
        method: 'POST',
        url: "/api/Account/Register",
        data: {
            userName: userName,
            password: password,
            confirmPassword: confirmPassword
        }
    })
    .success(successCallback)
    .error(errorCallback)
    .finally(finallyCallback)
;

答案 1 :(得分:3)

$http返回的承诺与使用$q service创建的任何其他承诺相同。这意味着它将采用finally方法:

$http({ /* ... */ })
.success(function () {})
.error(function () {})
.finally(function () {});

来自$http docs

  

使用标准then方法和两个http特定方法

返回一个promise对象