gpt4 book ai didi

javascript - Angular.js 中的 Promise

转载 作者:行者123 更新时间:2023-12-03 07:58:18 25 4
gpt4 key购买 nike

我已经更改了 url 的 env 属性以在本地测试我的代码。似乎错误回调甚至没有被调用。我的代码片段-

        $scope.getfiles = function() {
Api.file.query().$promise.then(
function(result){ $scope.getfiles = result; }, //on success
$scope.commonAjaxErrorHandling("Failed to get File data.",true) //on failure--> Always this line of code is executing..
);
};

如果我尝试编写其他错误函数。它甚至没有被调用。

        $scope.getfiles = function(){
Api.flatFile.query().$promise.then(
function(result){ $scope.File = result;
},
function (result) { // this block is not getting called
if(result.status== 404){
$scope.addErrorAlert("Service is down.Please try again later",true);
return;
}
});
};

有人可以帮我解决这个问题吗?

        FileServices.factory('Api', ['$res', '$loc',
function($res, $loc){
var contextPath = $loc.absUrl().split('/app/')[0];
return {
flatFile: $res(contextPath+'/app/config/flatFile/data', {}, {
query: {method:'GET', isArray:true},
save: {method:'POST'},
})
};
}]);

最佳答案

该函数可能不会以任何一种方式被调用。这里的问题是,在第一种情况下,您没有将函数定义为回调,而是立即调用函数本身

$scope.commonAjaxErrorHandling("Failed to get  File data.",true)

这不是回调定义,而是立即调用 $scope.commonAjaxErrorHandling

所以我的想法是不会发生错误,这就是为什么在第二种情况下错误函数也不会被调用

关于javascript - Angular.js 中的 Promise,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34705952/

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