链接 $http.get AngularJS
Chaining the $http.get AngularJS
由于我很少调用函数内的端点,这导致了对端点的并行调用出现问题,因此在另一个问题中建议使用承诺链。我更新了我的代码,这样我们就可以一个接一个地调用端点,所以代码如下所示
$scope.getRequest = function () {
var url = $rootScope.BaseURL;
var config = {
headers: {
'Authorization': `Basic ${$scope.key}`,
'Prefer': 'odata.maxpagesize=2000'
}
};
$http.get(url, config)
.then(newViewRequest)
.then(function(response){
$scope.viewRequest.data = response.data;
},
function (response) { // failure async
console.log("There was an error getting the request from CORE");});
};
var newViewRequest = function (response) {
var url1 = $rootScope.BaseURL + `CMQ_REQUEST('${$scope.viewRequest.barcode}')`;
if (response.data.REV_SAMPLE_CMQREQUEST.length = 0) {
return $http.get(url1, config)
}
return $q.reject({ message: 'Validations didnt work' });
};
如果 response.data.REV_SAMPLE_CMQREQUEST.length = 0
,它总是从 newViewRequest 发回拒绝消息,如果我将其注释掉,我会得到 response.data 未定义。
更新您的条件以验证而不是分配
问题: 更新 if 条件如下,用 === 检查 response.data.REV_SAMPLE_CMQREQUEST.length 是否为 0共 =
if (response.data.REV_SAMPLE_CMQREQUEST.length === 0)
由于我很少调用函数内的端点,这导致了对端点的并行调用出现问题,因此在另一个问题中建议使用承诺链。我更新了我的代码,这样我们就可以一个接一个地调用端点,所以代码如下所示
$scope.getRequest = function () {
var url = $rootScope.BaseURL;
var config = {
headers: {
'Authorization': `Basic ${$scope.key}`,
'Prefer': 'odata.maxpagesize=2000'
}
};
$http.get(url, config)
.then(newViewRequest)
.then(function(response){
$scope.viewRequest.data = response.data;
},
function (response) { // failure async
console.log("There was an error getting the request from CORE");});
};
var newViewRequest = function (response) {
var url1 = $rootScope.BaseURL + `CMQ_REQUEST('${$scope.viewRequest.barcode}')`;
if (response.data.REV_SAMPLE_CMQREQUEST.length = 0) {
return $http.get(url1, config)
}
return $q.reject({ message: 'Validations didnt work' });
};
如果 response.data.REV_SAMPLE_CMQREQUEST.length = 0
,它总是从 newViewRequest 发回拒绝消息,如果我将其注释掉,我会得到 response.data 未定义。
更新您的条件以验证而不是分配
问题: 更新 if 条件如下,用 === 检查 response.data.REV_SAMPLE_CMQREQUEST.length 是否为 0共 =
if (response.data.REV_SAMPLE_CMQREQUEST.length === 0)