gpt4 book ai didi

javascript - 如何在 AngularJs Promise 中获取使用的 http 调用参数?

转载 作者:行者123 更新时间:2023-12-02 16:10:10 24 4
gpt4 key购买 nike

我想记录某些返回的 Javascript 对象中是否没有数据。由于 http 调用是异步的,所以我的实现不起作用。我正在检查该对象是否为空,如果是,我想记录它的 id。如何为我的 else 语句获取正确的 sceneId?

for (var i in $scope.scenarioData){
var scenarioId = $scope.scenarioData[i].id;
dataService.getResultsByScenarioId(scenarioId).then(function(response){
if (Object.keys(response.data).length != 0){
//This is not interesting in this context
}
else{
//I would like to log the called scenarioId here
$log.info("No data in scenarioId: " + scenarioId);
}
});
}

这是使用的服务

ptraApp.service('dataService', function($http) {
this.getResultsByScenarioId = function(id) {
return $http({
method: 'GET',
url: '/ptra/resultArchive/' + id,
});
}
});

最佳答案

将调用服务的函数提取到外部函数例如:

for (var i in $scope.scenarioData){
var scenarioId = $scope.scenarioData[i].id;
getResult(scenarioId)
}

function getResult(scenarioId){
dataService.getResultsByScenarioId(scenarioId).then(function(response){
if (Object.keys(response.data).length != 0){
//This is not interesting in this context
}
else{
//I would like to log the called scenarioId here
$log.info("No data in scenarioId: " + scenarioId);
}
});
}

关于javascript - 如何在 AngularJs Promise 中获取使用的 http 调用参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30300610/

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