Promise Chaining 未按预期工作
Promise Chaining is not working as expected
我正在尝试对我从 angular 应用程序
发出的 $http.get 调用使用承诺链
$http.get(url, config)
.then(newViewRequest)
.then(function (response) { // success async
$scope.viewRequest1.data = response.data;
}
在我的 newViewRequest 中,我对另一个端点进行了新的调用,如果 newViewRequest 中的调用成功,我只需要发回响应。以下是我正在尝试的
var newViewRequest = function (response) {
var url1 = $rootScope.BaseURL;
var config = {
headers: {
'Authorization': `Basic ${$scope.key}`,
'Prefer': 'odata.maxpagesize=2000'
}
};
var newresponse = $http.get(url1, config);
if (newresponse.status = 200)
return newresponse;
else return response;
};
但它总是在不验证状态或任何东西的情况下发送请求响应。我该如何解决这个问题。
newViewRequest
return 中的 $http.get
是一个承诺。您需要等待它解决以获取状态。你必须 return 来自 newViewRequest
的 Promise 才能进行正确的链接。
return $http.get(url1, config)
.then(newresponse => {
if (newresponse.status = 200)
return newresponse;
else return response;
})
.catch(err => {
return response;
})
我正在尝试对我从 angular 应用程序
发出的 $http.get 调用使用承诺链$http.get(url, config)
.then(newViewRequest)
.then(function (response) { // success async
$scope.viewRequest1.data = response.data;
}
在我的 newViewRequest 中,我对另一个端点进行了新的调用,如果 newViewRequest 中的调用成功,我只需要发回响应。以下是我正在尝试的
var newViewRequest = function (response) {
var url1 = $rootScope.BaseURL;
var config = {
headers: {
'Authorization': `Basic ${$scope.key}`,
'Prefer': 'odata.maxpagesize=2000'
}
};
var newresponse = $http.get(url1, config);
if (newresponse.status = 200)
return newresponse;
else return response;
};
但它总是在不验证状态或任何东西的情况下发送请求响应。我该如何解决这个问题。
newViewRequest
return 中的 $http.get
是一个承诺。您需要等待它解决以获取状态。你必须 return 来自 newViewRequest
的 Promise 才能进行正确的链接。
return $http.get(url1, config)
.then(newresponse => {
if (newresponse.status = 200)
return newresponse;
else return response;
})
.catch(err => {
return response;
})