我有一点问题,我想在Angular中返回一个带有函数的数组。 我在匿名函数中处理我的数据,当我返回数组时,它是空的。
我不知道该怎么做......
-(void)layoutSubviews {
[super layoutSubviews];
[self updateLayerProperties];
}
感谢
EDIT 使用promise但它只返回一个数据
getCurrentExchangeTo : function(year, month, country){
var numberDayPerMonth = [
31,
28,
31,
30,
31,
30,
31,
30,
31,
30,
31,
30,
];
var vm = this;
this.country = country;
this.getCurrentExchangeFor = [];
var hello = "gello"
for(var i = 0; i < numberDayPerMonth.length; i++){
if((i + 1) === month){
for(let j = 1; j < numberDayPerMonth[i]; j++){
$http.get('http://api.fixer.io/' + year + '-0' + month + '-0' + j +'?symbols=' + vm.country).then(function (success) {
let countryDay = vm.country
vm.getCurrentExchangeFor[j] = success.data.rates[countryDay];
});
}
}
}
return vm.getCurrentExchangeFor
}
答案 0 :(得分:1)
你需要在这里使用promise,你返回的数组是空的,因为在填充数组之前返回了数组。 由于你有一个for循环和http调用,你已经使用了promise.all功能来确保在返回数组之前已经填充了所有数据。