$timeout vs $evalasync
a quick demo evaluating the thin difference between $timeout and $evalAsync
by Samar Pattanayak
HTML
<div ng-app="myApp">
<div ng-controller="myController">
{{val}}
</div>
</div>
JavaScript
var ang= angular.module("myApp", []);
ang.controller("myController", function($scope,$timeout,$rootScope ){
$scope.val="$timeout vs $evalAsync";
$timeout(function(){
console.log("1st timeout " + $scope.val);
});
$scope.$evalAsync(function(){
console.log("Eval Async " + $scope.val);
});
console.log($scope.$$phase);
if(!$scope.$$phase){
$scope.$apply(function(){
console.log("apply Async 2");
});
}
//$rootscope.$applyAsync();
console.log($scope.$$phase);
$timeout(function(){
console.log("2nd timeout " + $scope.val);
},10);
$scope.$eval(function(){
console.log("eval is running "+ $scope.val);
})
$scope.val="Value changed ";
});