2016-01-03 63 views
1

我不能我控制器上使用循環沒有工作,沒有錯誤 這是我的代碼angularJs迴路控制器

'use strict'; 

var chartApp = angular.module('chartsApp'); 

chartApp.controller('chartController', ['$scope', 'ChartingService', function($scope, ChartingService){ 

var charts = ChartingService.query(); 
console.log(charts); 

for (var i = 0; i < charts.length; i++) { 
    console.log(charts[i]); 
}; 


console.log('after'); 

}]); 

,這是COSE從API獲取數據

var app = angular.module('chartsApp'); 

app.factory('ChartingService', function($resource) { 
return $resource('/api/sales', { 
    id: '@id' 
}, { 
    add: {method: 'POST'} 

}); 
}); 

我沒有得到任何錯誤,但循環ar工作 當我控制檯登錄var圖表它在控制檯窗口上打印的所有數據

那是什麼ig等在控制檯

http://prntscr.com/9lkb5y

任何幫助嗎?

回答

3

documentation of $resource說:

意識到立即調用$資源對象方法返回一個空參考(對象或數組取決於IsArray的)是很重要的。一旦從服務器返回數據,現有參考將填入實際數據。

(重點煤礦)

然後遵循它使用一個回調函數,以獲取數組由query()返回的第一個元素,一旦它的可用一個例子。

+0

這個人說的是實話。 :)你應該真正理解javascript promise是如何工作的。顯然,當你嘗試用for循環來檢查數據時,你沒有這些數據......但稍後它會。所以這就是爲什麼你可以用你的控制檯看到它。 – Iamisti

+0

好的,但爲什麼它在控制檯上打印數據並且無法循環數據? – Erez

+0

它在控制檯中打印什麼? –