Why do you use a timeout here ? 
If there's a good reason, please use $timeout service instead.