Javascript Angular JS承诺使用$http——循环返回数据
我使用$http从数据库中获取一些数据。我可以成功地获取数据,但是在我可以在前端向用户显示数据之前,我想循环数据并进行一些更改Javascript Angular JS承诺使用$http——循环返回数据,javascript,angularjs,angular-promise,Javascript,Angularjs,Angular Promise,我使用$http从数据库中获取一些数据。我可以成功地获取数据,但是在我可以在前端向用户显示数据之前,我想循环数据并进行一些更改 $http.get("/getList").then(function(data ̶,̶ ̶s̶t̶a̶t̶u̶s̶ ) { // setting data to the front end $scope.returnedData = data.data; },function errorCallback(response) {
$http.get("/getList").then(function(data ̶,̶ ̶s̶t̶a̶t̶u̶s̶ ) {
// setting data to the front end
$scope.returnedData = data.data;
},function errorCallback(response) {
console.log(response.data.message)
});
}
我的循环函数:
if($scope.returnedData.modules.length > 0){
for(var i=0; i<=$scope.returnedData.modules.length; i++){
if($scope.returnedData.modules[i].carType === 2){
$scope.returnedData.modules[i].carModel = $scope.returnedData.modules[i].carModel / 52;
} else if($scope.returnedData.modules[i].truckType === 2){
$scope.returnedData.modules[i].truckModel = $scope.returnedData.modules[i].truckModel / 52;
}
}
}
if($scope.returnedData.modules.length>0){
对于(var i=0;i只需在将结果存储到$scope
变量之前处理获取的数据:
$http.get("/getList")
.then(function(data, status) {
if(data.data.modules.length > 0) {
for(var i=0; i<=data.data.modules.length; i++) {
if(data.data.modules[i].carType === 2) {
data.data.modules[i].carModel = data.data.modules[i].carModel / 52;
} else if(data.data.modules[i].truckType === 2){
data.data.modules[i].truckModel = data.data.modules[i].truckModel / 52;
}
}
}
// Storing the result
$scope.returnedData = data.data;
})
.catch(function(error) {
console.error(error)
});
在将结果存储到$scope
变量之前,只需处理获取的数据:
$http.get("/getList")
.then(function(data, status) {
if(data.data.modules.length > 0) {
for(var i=0; i<=data.data.modules.length; i++) {
if(data.data.modules[i].carType === 2) {
data.data.modules[i].carModel = data.data.modules[i].carModel / 52;
} else if(data.data.modules[i].truckType === 2){
data.data.modules[i].truckModel = data.data.modules[i].truckModel / 52;
}
}
}
// Storing the result
$scope.returnedData = data.data;
})
.catch(function(error) {
console.error(error)
});
要链接承诺,将数据返回到。然后
方法处理程序函数:
var promise = $http.get("/getList").then(function(response ̶,̶ ̶s̶t̶a̶t̶u̶s̶ ) {
// setting data to the front end
$scope.returnedData = response.data;
͟r͟e͟t͟u͟r͟n͟ response.data;
},function errorCallback(response) {
console.log(response.data.message)
//IMPORTANT
throw response;
});
然后从返回的承诺中链接:
promise.then(function(data) {
if(data.modules.length > 0){
for(var i=0; i<=data.modules.length; i++){
//code ...
};
};
});
promise.then(函数(数据){
如果(data.modules.length>0){
对于(var i=0;i从承诺链,将数据返回到。然后
方法处理函数:
var promise = $http.get("/getList").then(function(response ̶,̶ ̶s̶t̶a̶t̶u̶s̶ ) {
// setting data to the front end
$scope.returnedData = response.data;
͟r͟e͟t͟u͟r͟n͟ response.data;
},function errorCallback(response) {
console.log(response.data.message)
//IMPORTANT
throw response;
});
然后从返回的承诺中链接:
promise.then(function(data) {
if(data.modules.length > 0){
for(var i=0; i<=data.modules.length; i++){
//code ...
};
};
});
promise.then(函数(数据){
如果(data.modules.length>0){
对于(var i=0;i您不需要在这里链接,您可以直接从/getList
ajax调用我的循环函数:
。然后
成功的回调函数..@PankajParkar谢谢您的评论。我应该首先从/getList中调用循环函数。然后
然后设置$scope。将返回的数据
放在前端e。)nd?我对顺序感到困惑。你能提供一个例子吗?你不需要在这里链接,你可以直接从/getList
ajax调用我的循环函数:
。然后
成功回调函数..@PankajParkar谢谢你的评论。我应该先从/getList.然后调用循环函数吗e> 然后将$scope.returnedData
设置到前端?我对序列感到困惑。你能提供一个例子吗?谢谢你的回答。我试过了,但似乎不起作用。我遇到以下错误无法读取未定义的属性“carType”
我已经检查过,carType
未定义。我可以使用天行者,它说modules[i]
是未定义的,而不是carType
。尝试添加属性检查,如for(var i=0;iThanks for the reply)。这似乎有效。但我不明白,modules[i]
从来都不是空的。添加支票如何解决问题?这样我才能更好地理解我做错了什么。@Skywalker,我将在几分钟内用支票更新答案minutes@Skywalker,查看更新的答案。它是否帮助您找到问题?谢谢您的答案。我尝试了它,但似乎不起作用。我得到了以下答案ror无法读取未定义的属性“carType”
我已经检查过,并且carType
没有定义。我可以在控制台中看到它。@天行者,它说模块[I]
是未定义的,而不是carType
。请尝试添加属性存在性检查,如(var i=0;我希望得到答复。这似乎有效。但我不明白,模块[i]
从来都不是空的。添加支票如何解决问题?这样我才能更好地理解我做错了什么。@Skywalker,我将在几分钟内用支票更新答案minutes@Skywalker,查看更新的答案。它是否帮助您找到问题?