[英]Array returns undefined after promise in AngularJS
我有這個角度的腳本。 問題有時是 p.products 顯示未定義。 有時工作有時不是我在 settimeout 函數中放置了承諾但沒有解決。 Packages Products Called 1
每次都成功Packages Products Called 1
但在 promise 運行后有時會顯示 p.products 為未定義。
.directive('packagesBrowser', function() {
return {
scope: {
select: '='
},
templateUrl: 'packages-browser.html',
controller: [
'$scope', 'Packages', 'Store', 'Inventory', function($scope, Packages, Store, Inventory) {
$scope.packageOptions = {};
$scope.packages = Packages;
console.log('Packages Products Called 1');
Packages.$promise.then(function() {
return Packages.forEach(function(p) {
if (!p.products) {
return;
}
$scope.packageOptions[p.id] = p.products.map(function(product) {
return {
product_id: product.product.id,
quantity: product.quantity
};
});
return console.log('Packages Products Called 2');
});
});
return Store.$promise.then(function() {
return $scope.available = function(id) {
return (Inventory.list[id] && Inventory.list[id].available) || 0;
};
});
}
]
};
})
似乎您缺少一個參數.. results
這種情況
嘗試這個:
Packages.$promise.then(function(results) {
return results.data.forEach(function(p) {
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.