2017-09-15 61 views
0

这更多的是一个实现问题。 我不知道我做错了什么。

var promises = items.map(function(item) { 
     return HttpWrapper.send(url, {"operation": 'GET'}).then(function(pricingOptions) { 
      item.selectedItem = pricingOptions[0]; 
      item.selectedItem.zone = 'us-east-1a'; 
      arr.push(item); 
     });  
}); 
$q.all(promises).then(function(result) { 
    vm.selectedItems.server = arr; 

但问题是...

它解决了第一,涉及到...

item.selectedItem = pricingOptions[0]; 
item.selectedItem.zone = 'us-east-1a'; 

应该内$q.all权来吗?或者我可以删除$q.all()

我在做什么错?

+2

为什么map函数后面有'else'语句?另外,HttpWrapper是怎么样的? –

+0

@LenilsondeCastro其他是没有必要的,HttpWrapper可以假设为$ http – StrugglingCoder

+0

考虑添加一个错误回调到allPromise就像'$ q.all(promises).then(function(result){...},console.error );',因为你的承诺之一可能不会解决。 –

回答

0
var promises = items.map(function(item) { 
     return HttpWrapper.send(url, {"operation": 'GET'}).then(function(pricingOptions) { 
      item.selectedItem = pricingOptions[0]; 
      item.selectedItem.zone = 'us-east-1a'; 
      return item; 
     });  
}); 
$q.all(promises).then(function(result) { 
    vm.selectedItems.server = result;