Without the $timeout, I had always the old value or the angular expression itself. I've tried to figure out why but don't find any explanations in documentation.