 <p>You have to use <code>then</code> method from fetchGraph or else return data from success method of <code>$http</code>.</p> <p>My recommendation, you can keep watch on the <code>self.items</code>. so whenever it change you can re-draw your graph.</p> <pre><code>$scope.$watch( "self.items", function () { //re-draw your graph $scope.$apply(); // not needed always, just a precaution } ); </code></pre>