$scope.$evalAsync() vs. $timeout() In AngularJS