1
私は論理的な問題があります。Angular JSの連鎖約束の問題
私はlocalStorage
にオブジェクトの配列を持っています。私がしたいのは、それぞれが効果的にAPI呼び出しを行い、localStorage
に新しいアイテムをプッシュし、すべてが完了したらroute to a new component
だけです。
if(migrationName){
angular.forEach(JSON.parse($window.localStorage.selectedItems), function(item) {
var url = '/api/get_all_prices/'+item.details.id+'/us-1';
HttpWrapper.send(url,{"operation":'GET'}).then(function(pricingOptions){
item.selectedMapping = pricingOptions[0];
vm.selectedItems[type].push(item); // Store it in a variable first
$window.localStorage.setItem('selectedItems',JSON.stringify(item));
});
});
$rootRouter.navigate(["MigrationRecommendation"]); // Route once everything is done
}
私はこれが間違っていることを知っています。
私はループのたびにlocalStorageを設定していますが、配列内のすべてが実行された後は処理ができません。
ロジックはどのように変更できますか?
ええ、あなたが正しいと迅速でした。 :) –
@ dfsq答えに感謝します。しかし、毎回localStorageを変更するのではなく、すべての項目をまとめてlocalStorageに追加してはいけません。あなたは私が推測するアイテムのためにそれをやっているのですが、それは選択されたすべてのアイテムに対して実行されるべきです。 – StrugglingCoder