我正在尝试将微调器改造成我的应用程序。
我希望在启动异步事件时设置 loading = true 变量,并在调用返回时将其设置为 false 。
然后在我看来我可以做
<span><i class="fa fa-spinner" if-show="vm.loading"></i><span>
我希望找到成功,失败,最后形式的异步调用。
我打开的第一个控制器以我不理解的形式拨打电话。我甚至不知道该怎么称呼它,所以我不知道如何研究和探索它。
$scope.login = function () {
if ($scope.form.$valid) {
authService.login($scope.loginData).then(function (response) {
$location.path("/dashboard");
},
function (err) {
toastr.error(err.error_description);
});
}
};
我在这里看到的是 if 语句,后跟逗号,后跟函数。
呃......我之前没有遇到某种形式的尝试/捕获吗?
我不能只是在最后添加一个......
我在这里提出问题的原因是因为我甚至不知道如何研究这个问题。
最终我要回答的问题是:我可以使用什么形式的异步调用,以便我有一个地方首先激活微调器,然后停用它?
答案 0 :(得分:0)
阿。好。这是一个标准的承诺 - 只是容易混淆格式化。我忽略了那条在同一条线上的。
$scope.login = function () {
if ($scope.form.$valid) {
$scope.loading = true;
authService.login($scope.loginData)
.then(function (response) {
$location.path("/dashboard");
},
function (err) {
toastr.error(err.error_description);
})
.finally(function(){
$scope.loading = false;
}
);
}
}
在这里找到它:
How to always run some code when a promise is fulfilled in Angular.js