Qual é a diferença entre $ evalAsync e $ timeout no AngularJS?

Estou usando o AngularJS há algum tempo e descobri a necessidade de usar $ timeout de vez em quando (parece ser geralmente iniciar um plugin jQuery). Recentemente, tenho tentado entender melhor e mais profundamente o ciclo de digestão e deparei-me com a função $ evalAsync . Parece que essa função...